from apps.reports.services.report_types import REPORT_TYPES class ReportOrchestrator: @classmethod def available_reports(cls): return [(report_type, report_type) for report_type in REPORT_TYPES.keys()] def generate(self, payload): report = REPORT_TYPES[payload["report_type"]]() return report.generate(payload.get("filters") or {})