nexus-5/core/graphql/schema.py
2026-01-26 11:09:40 -05:00

158 lines
7.0 KiB
Python

import strawberry
from core.graphql.queries.customer import Query as CustomerQuery
from core.graphql.queries.account import Query as AccountQuery
from core.graphql.queries.profile import Query as ProfileQuery
from core.graphql.queries.project import Query as ProjectQuery
from core.graphql.queries.service import Query as ServiceQuery
from core.graphql.queries.labor import Query as LaborQuery
from core.graphql.queries.revenue import Query as RevenueQuery
from core.graphql.queries.schedule import Query as ScheduleQuery
from core.graphql.queries.invoice import Query as InvoiceQuery
from core.graphql.queries.report import Query as ReportQuery
from core.graphql.queries.account_punchlist import Query as AccountPunchlistQuery
from core.graphql.queries.project_punchlist import Query as ProjectPunchlistQuery
from core.graphql.queries.scope import Query as ScopeQuery
from core.graphql.queries.project_scope import Query as ProjectScopeQuery
from core.graphql.queries.project_scope_template import Query as ProjectScopeTemplateQuery
from core.graphql.queries.scope_template import Query as ScopeTemplateQuery
from core.graphql.queries.session import Query as SessionQuery
from core.graphql.queries.session_image import Query as SessionImageQuery
from core.graphql.queries.session_video import Query as SessionVideoQuery
from core.graphql.queries.session_note import Query as SessionNoteQuery
from core.graphql.queries.event import Query as EventQuery
from core.graphql.queries.messaging import Query as MessagingQuery
from core.graphql.queries.dashboard import Query as DashboardQuery
from core.graphql.mutations.customer import Mutation as CustomerMutation
from core.graphql.mutations.account import Mutation as AccountMutation
from core.graphql.mutations.profile import Mutation as ProfileMutation
from core.graphql.mutations.project import Mutation as ProjectMutation
from core.graphql.mutations.service import Mutation as ServiceMutation
from core.graphql.mutations.labor import Mutation as LaborMutation
from core.graphql.mutations.revenue import Mutation as RevenueMutation
from core.graphql.mutations.schedule import Mutation as ScheduleMutation
from core.graphql.mutations.invoice import Mutation as InvoiceMutation
from core.graphql.mutations.report import Mutation as ReportMutation
from core.graphql.mutations.account_punchlist import Mutation as AccountPunchlistMutation
from core.graphql.mutations.project_punchlist import Mutation as ProjectPunchlistMutation
from core.graphql.mutations.scope import Mutation as ScopeMutation
from core.graphql.mutations.scope_template import Mutation as ScopeTemplateMutation
from core.graphql.mutations.project_scope import Mutation as ProjectScopeMutation
from core.graphql.mutations.project_scope_template import Mutation as ProjectScopeTemplateMutation
from core.graphql.mutations.session import Mutation as SessionMutation
from core.graphql.mutations.session_image import Mutation as SessionImageMutation
from core.graphql.mutations.session_video import Mutation as SessionVideoMutation
from core.graphql.mutations.session_note import Mutation as SessionNoteMutation
from core.graphql.mutations.event import Mutation as EventMutation
from core.graphql.mutations.messaging import Mutation as MessagingMutation
from core.graphql.subscriptions.service import Subscription as ServiceSubscription
from core.graphql.subscriptions.project import Subscription as ProjectSubscription
from core.graphql.subscriptions.account import Subscription as AccountSubscription
from core.graphql.subscriptions.account_address import Subscription as AccountAddressSubscription
from core.graphql.subscriptions.account_contact import Subscription as AccountContactSubscription
from core.graphql.subscriptions.invoice import Subscription as InvoiceSubscription
from core.graphql.subscriptions.labor import Subscription as LaborSubscription
from core.graphql.subscriptions.revenue import Subscription as RevenueSubscription
from core.graphql.subscriptions.schedule import Subscription as ScheduleSubscription
from core.graphql.subscriptions.customer import Subscription as CustomerSubscription
from core.graphql.subscriptions.customer_address import Subscription as CustomerAddressSubscription
from core.graphql.subscriptions.customer_contact import Subscription as CustomerContactSubscription
from core.graphql.subscriptions.report import Subscription as ReportSubscription
from core.graphql.subscriptions.profile import Subscription as ProfileSubscription
from core.graphql.subscriptions.account_punchlist import Subscription as AccountPunchlistSubscription
from core.graphql.subscriptions.project_punchlist import Subscription as ProjectPunchlistSubscription
from core.graphql.subscriptions.scope import Subscription as ScopeSubscription
from core.graphql.subscriptions.scope_template import Subscription as ScopeTemplateSubscription
from core.graphql.subscriptions.project_scope import Subscription as ProjectScopeSubscription
from core.graphql.subscriptions.project_scope_template import Subscription as ProjectScopeTemplateSubscription
from core.graphql.subscriptions.messaging import Subscription as MessagingSubscription
@strawberry.type
class Query(
CustomerQuery,
AccountQuery,
ProjectQuery,
ServiceQuery,
LaborQuery,
RevenueQuery,
ScheduleQuery,
InvoiceQuery,
ReportQuery,
AccountPunchlistQuery,
ProjectPunchlistQuery,
ProfileQuery,
ScopeQuery,
ScopeTemplateQuery,
ProjectScopeQuery,
ProjectScopeTemplateQuery,
SessionQuery,
SessionImageQuery,
SessionVideoQuery,
SessionNoteQuery,
EventQuery,
MessagingQuery,
DashboardQuery,
):
"""Root GraphQL query type combining all query groups."""
pass
@strawberry.type
class Mutation(
CustomerMutation,
AccountMutation,
ProjectMutation,
ServiceMutation,
LaborMutation,
RevenueMutation,
ScheduleMutation,
InvoiceMutation,
ReportMutation,
AccountPunchlistMutation,
ProjectPunchlistMutation,
ProfileMutation,
ScopeMutation,
ScopeTemplateMutation,
ProjectScopeMutation,
ProjectScopeTemplateMutation,
SessionMutation,
SessionImageMutation,
SessionVideoMutation,
SessionNoteMutation,
EventMutation,
MessagingMutation,
):
"""Root GraphQL mutation type combining all mutation groups."""
pass
@strawberry.type
class Subscription(
ServiceSubscription,
ProjectSubscription,
AccountSubscription,
AccountAddressSubscription,
AccountContactSubscription,
InvoiceSubscription,
LaborSubscription,
RevenueSubscription,
ScheduleSubscription,
CustomerSubscription,
CustomerAddressSubscription,
CustomerContactSubscription,
ReportSubscription,
ProfileSubscription,
AccountPunchlistSubscription,
ProjectPunchlistSubscription,
ScopeSubscription,
ScopeTemplateSubscription,
ProjectScopeSubscription,
ProjectScopeTemplateSubscription,
MessagingSubscription,
):
"""Root GraphQL subscription type combining all subscription groups."""
pass
schema = strawberry.Schema(query=Query, mutation=Mutation, subscription=Subscription)