Custom Report Service
Component Detail
Service Layer
high complexity
backend
3
Dependencies
2
Dependents
11
Entities
0
Integrations
Description
Backend service that receives declarative report specifications, validates them against an allowed-fields whitelist, constructs dynamic SQL queries with tenant isolation, enforces complexity limits, and returns paginated results. Handles saved configuration CRUD and export generation.
custom-report-service
Responsibilities
- Validate report specifications against allowed-fields whitelist
- Construct dynamic SQL queries with tenant isolation and parameterization
- Enforce query complexity limits (max joins, max result rows)
- Manage saved report configuration CRUD with ownership and sharing
- Generate CSV and XLSX exports from report results
Interfaces
executeReport(orgId, specification, pagination)
previewReport(orgId, specification)
validateSpecification(specification)
getAvailableFields(orgId)
saveReportConfig(orgId, userId, name, specification)
updateReportConfig(configId, updates)
deleteReportConfig(configId)
listReportConfigs(orgId, userId)
shareReportConfig(configId, scope)
exportReport(orgId, specification, format)
getFieldOperators(fieldType)
checkQueryComplexity(specification)
Relationships
Dependencies (3)
Components this component depends on
Dependents (2)
Components that depend on this component
Related Data Entities (11)
Data entities managed by this component