CustomReportService
Component Detail
Description
Backend service that processes org-admin-defined report configurations and executes dynamic queries against the data store. Validates report parameters, enforces org-level data access boundaries, and returns structured result sets. Supports saving and retrieving named custom report configurations per organization.
custom-report-service
Sources & reasoning
Custom Reports is not named explicitly in the source but is implied by diverse per-org analytics needs across sections 2-3 and the admin portal's stated role in org-level dashboards (line 195). Blueprint assigns v1.1, reflecting that standard reporting must stabilize before custom capabilities are layered on. Phase 3 positioning in section 5 aligns with the growth-phase roadmap.
-
docs/source/likeperson.md · line 195Coordinator and organization-level dashboards and KPIs
Responsibilities
- Validate and parse incoming custom report configurations
- Execute parameterized queries based on selected dimensions, fields, and date ranges
- Enforce organization-scoped data access to prevent cross-org leakage
- Persist and retrieve saved custom report configurations for an organization
- Return paginated, structured result sets ready for frontend rendering or export
Interfaces
buildQuery(config: ReportConfig): CompiledQuery
executeReport(orgId: string, config: ReportConfig): ReportResult
saveReportConfig(orgId: string, config: ReportConfig): SavedReport
getSavedReports(orgId: string): SavedReport[]
deleteReportConfig(orgId: string, reportId: string): void
Related Data Entities (3)
Data entities managed by this component