2026-01-26 10:30:49 -05:00

42 lines
1.1 KiB
Python

import graphene
from graphene import List
from backend.core.repositories import ServiceRepository
from backend.graphql_api.types import ServiceType
from backend.graphql_api.inputs import ServiceFilterInput
class ServiceQueries(graphene.ObjectType):
"""Service query operations"""
service = graphene.Field(
ServiceType,
id=graphene.ID(required=True)
)
services = graphene.Field(
List(ServiceType),
filter=ServiceFilterInput()
)
def resolve_service(self, info, id):
return ServiceRepository.get_by_id(id)
def resolve_services(self, info, filter=None):
if not filter:
return ServiceRepository.get_all()
if filter.account_id:
return ServiceRepository.get_by_account(filter.account_id)
if filter.status:
return ServiceRepository.get_by_status(filter.status)
return ServiceRepository.filter_services(
account_id=filter.account_id,
status=filter.status,
date_from=filter.start_date,
date_to=filter.end_date,
team_member_id=filter.team_member_id
)