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

36 lines
946 B
Python

import graphene
from graphene import List
from backend.core.repositories import ReportRepository
from backend.graphql_api.types import ReportType
from backend.graphql_api.inputs import ReportFilterInput
class ReportQueries(graphene.ObjectType):
"""Report query operations"""
report = graphene.Field(
ReportType,
id=graphene.ID(required=True)
)
reports = graphene.Field(
List(ReportType),
filter=ReportFilterInput()
)
def resolve_report(self, info, id):
return ReportRepository.get_with_all_related(id)
def resolve_reports(self, info, filter=None):
if not filter:
return ReportRepository.get_all()
if filter.team_member_id:
return ReportRepository.get_by_team_member(filter.team_member_id)
return ReportRepository.get_by_date_range(
start_date=filter.start_date,
end_date=filter.end_date
)