def resolve_entities( # pylint: disable=arguments-differ _root, info: ResolveInfo, filter_string: FilterString = None, after: str = None, before: str = None, first: int = None, last: int = None, ) -> Entities: gmp = get_gmp(info) filter_string = get_filter_string_for_pagination( filter_string, first=first, last=last, after=after, before=before ) xml: XmlElement = gmp.get_reports( filter_string=filter_string.filter_string ) reports = [] report_elements = xml.findall('report') for elem in report_elements: report = ReportModel() report.outer_report = elem report.inner_report = elem.find('report') reports.append(report) counts = xml.find('report_count') requested = xml.find('reports') return Entities(reports, counts, requested)
def resolve( _root, info, report_id: UUID, report_format_id: UUID = None, delta_report_id: UUID = None, ): gmp = get_gmp(info) report = ReportModel() xml: XmlElement = gmp.get_report( str(report_id), report_format_id=(str(report_format_id) if report_format_id is not None else None), delta_report_id=(str(delta_report_id) if delta_report_id is not None else None), details=True, ) report.outer_report = xml.find('report') report.inner_report = report.outer_report.find('report') return report