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.

Feature: Custom Reports

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