168 lines
6.5 KiB
Python
168 lines
6.5 KiB
Python
import graphene
|
|
|
|
from backend.graphql_api.queries.accounts.accounts import AccountQueries
|
|
from backend.graphql_api.queries.customers.customers import CustomerQueries
|
|
from backend.graphql_api.queries.invoices.invoices import InvoiceQueries
|
|
from backend.graphql_api.queries.labor.labor import LaborQueries
|
|
from backend.graphql_api.queries.profiles.profiles import ProfileQueries
|
|
from backend.graphql_api.queries.projects.projects import ProjectQueries
|
|
from backend.graphql_api.queries.reports.reports import ReportQueries
|
|
from backend.graphql_api.queries.revenues.revenues import RevenueQueries
|
|
from backend.graphql_api.queries.schedules.schedules import ScheduleQueries
|
|
from backend.graphql_api.queries.services.services import ServiceQueries
|
|
|
|
from backend.graphql_api.mutations.auth.auth import (
|
|
TokenAuthMutation, VerifyTokenMutation,
|
|
RefreshTokenMutation
|
|
)
|
|
from backend.graphql_api.mutations.accounts.accounts import (
|
|
CreateAccountMutation, UpdateAccountMutation,
|
|
DeleteAccountMutation, MarkAccountInactiveMutation,
|
|
GetAccountRevenueMutation
|
|
)
|
|
from backend.graphql_api.mutations.customers.customers import (
|
|
CreateCustomerMutation, UpdateCustomerMutation,
|
|
DeleteCustomerMutation, MarkCustomerInactiveMutation
|
|
)
|
|
from backend.graphql_api.mutations.invoices.invoices import (
|
|
CreateInvoiceMutation, SendInvoiceMutation,
|
|
MarkInvoicePaidMutation, CancelInvoiceMutation
|
|
)
|
|
from backend.graphql_api.mutations.labor.labor import (
|
|
CreateLaborMutation, UpdateLaborMutation,
|
|
DeleteLaborMutation, EndLaborMutation,
|
|
CalculateLaborCostMutation
|
|
)
|
|
from backend.graphql_api.mutations.profiles.profiles import (
|
|
CreateProfileMutation, UpdateProfileMutation,
|
|
DeleteProfileMutation, SearchProfilesMutation
|
|
)
|
|
from backend.graphql_api.mutations.projects.projects import (
|
|
CreateProjectMutation, UpdateProjectMutation,
|
|
DeleteProjectMutation
|
|
)
|
|
from backend.graphql_api.mutations.reports.reports import (
|
|
CreateReportMutation, UpdateReportMutation,
|
|
DeleteReportMutation, GetTeamMemberActivityMutation,
|
|
GetTeamSummaryMutation, GetTeamMemberReportsMutation
|
|
)
|
|
from backend.graphql_api.mutations.revenues.revenues import (
|
|
CreateRevenueMutation, UpdateRevenueMutation,
|
|
DeleteRevenueMutation, EndRevenueMutation,
|
|
CalculateTotalRevenueMutation, GetRevenueByDateRangeMutation,
|
|
GetActiveRevenuesMutation
|
|
)
|
|
from backend.graphql_api.mutations.schedules.schedules import (
|
|
CreateScheduleMutation, UpdateScheduleMutation,
|
|
DeleteScheduleMutation, EndScheduleMutation,
|
|
GenerateServicesMutation, GetActiveSchedulesMutation,
|
|
GetScheduleByAccountMutation, SearchSchedulesMutation
|
|
)
|
|
from backend.graphql_api.mutations.services.services import (
|
|
CreateServiceMutation, UpdateServiceMutation,
|
|
DeleteServiceMutation, CompleteServiceMutation,
|
|
CancelServiceMutation, AssignTeamMembersMutation,
|
|
GetServicesByDateRangeMutation, BulkScheduleServicesMutation
|
|
)
|
|
|
|
|
|
class Query(
|
|
AccountQueries,
|
|
CustomerQueries,
|
|
InvoiceQueries,
|
|
LaborQueries,
|
|
ProfileQueries,
|
|
ProjectQueries,
|
|
ReportQueries,
|
|
RevenueQueries,
|
|
ScheduleQueries,
|
|
ServiceQueries,
|
|
graphene.ObjectType
|
|
):
|
|
hello = graphene.String(default_value="Hi there!")
|
|
pass
|
|
|
|
|
|
class Mutation(graphene.ObjectType):
|
|
# Auth mutations
|
|
token_auth = TokenAuthMutation.Field()
|
|
verify_token = VerifyTokenMutation.Field()
|
|
refresh_token = RefreshTokenMutation.Field()
|
|
|
|
# Account mutations
|
|
create_account = CreateAccountMutation.Field()
|
|
update_account = UpdateAccountMutation.Field()
|
|
delete_account = DeleteAccountMutation.Field()
|
|
mark_account_inactive = MarkAccountInactiveMutation.Field()
|
|
get_account_revenue = GetAccountRevenueMutation.Field()
|
|
|
|
# Customer mutations
|
|
create_customer = CreateCustomerMutation.Field()
|
|
update_customer = UpdateCustomerMutation.Field()
|
|
delete_customer = DeleteCustomerMutation.Field()
|
|
mark_customer_inactive = MarkCustomerInactiveMutation.Field()
|
|
|
|
# Invoice mutations
|
|
create_invoice = CreateInvoiceMutation.Field()
|
|
send_invoice = SendInvoiceMutation.Field()
|
|
mark_invoice_paid = MarkInvoicePaidMutation.Field()
|
|
cancel_invoice = CancelInvoiceMutation.Field()
|
|
|
|
# Labor mutations
|
|
create_labor = CreateLaborMutation.Field()
|
|
update_labor = UpdateLaborMutation.Field()
|
|
delete_labor = DeleteLaborMutation.Field()
|
|
end_labor = EndLaborMutation.Field()
|
|
calculate_labor_cost = CalculateLaborCostMutation.Field()
|
|
|
|
# Profile mutations
|
|
create_profile = CreateProfileMutation.Field()
|
|
update_profile = UpdateProfileMutation.Field()
|
|
delete_profile = DeleteProfileMutation.Field()
|
|
search_profiles = SearchProfilesMutation.Field()
|
|
|
|
# Project mutations
|
|
create_project = CreateProjectMutation.Field()
|
|
update_project = UpdateProjectMutation.Field()
|
|
delete_project = DeleteProjectMutation.Field()
|
|
|
|
# Report mutations
|
|
create_report = CreateReportMutation.Field()
|
|
update_report = UpdateReportMutation.Field()
|
|
delete_report = DeleteReportMutation.Field()
|
|
get_team_member_activity = GetTeamMemberActivityMutation.Field()
|
|
get_team_summary = GetTeamSummaryMutation.Field()
|
|
get_team_member_reports = GetTeamMemberReportsMutation.Field()
|
|
|
|
# Revenue mutations
|
|
create_revenue = CreateRevenueMutation.Field()
|
|
update_revenue = UpdateRevenueMutation.Field()
|
|
delete_revenue = DeleteRevenueMutation.Field()
|
|
end_revenue = EndRevenueMutation.Field()
|
|
calculate_total_revenue = CalculateTotalRevenueMutation.Field()
|
|
get_revenue_by_date_range = GetRevenueByDateRangeMutation.Field()
|
|
get_active_revenues = GetActiveRevenuesMutation.Field()
|
|
|
|
# Schedule mutations
|
|
create_schedule = CreateScheduleMutation.Field()
|
|
update_schedule = UpdateScheduleMutation.Field()
|
|
delete_schedule = DeleteScheduleMutation.Field()
|
|
end_schedule = EndScheduleMutation.Field()
|
|
generate_services = GenerateServicesMutation.Field()
|
|
get_active_schedules = GetActiveSchedulesMutation.Field()
|
|
get_schedule_by_account = GetScheduleByAccountMutation.Field()
|
|
search_schedules = SearchSchedulesMutation.Field()
|
|
|
|
# Service mutations
|
|
create_service = CreateServiceMutation.Field()
|
|
update_service = UpdateServiceMutation.Field()
|
|
delete_service = DeleteServiceMutation.Field()
|
|
complete_service = CompleteServiceMutation.Field()
|
|
cancel_service = CancelServiceMutation.Field()
|
|
assign_team_members = AssignTeamMembersMutation.Field()
|
|
get_services_by_date_range = GetServicesByDateRangeMutation.Field()
|
|
bulk_schedule_services = BulkScheduleServicesMutation.Field()
|
|
|
|
|
|
schema = graphene.Schema(query=Query, mutation=Mutation)
|