Service Layer medium complexity backend
1
Dependencies
2
Dependents
0
Entities
0
Integrations

Description

Manages CRUD operations for saved report configurations stored in the report_configs table. Handles ownership checks, organization-wide sharing flags, and ensures coordinators can only manage their own configurations while org admins can manage all configurations within their organization.

Feature: Custom Reports

report-config-persistence-service

Responsibilities

  • Save and update named report configurations linked to user and organization
  • Enforce ownership rules for update and delete operations
  • List configurations scoped to personal or organization-wide visibility
  • Serialize and deserialize the report specification JSON blob

Interfaces

saveConfig(orgId, userId, name, spec, shared)
updateConfig(configId, userId, patch)
deleteConfig(configId, userId, role)
getConfig(configId, orgId)
listConfigs(orgId, userId, role)
shareConfig(configId, orgId, shared)
duplicateConfig(configId, userId)

Relationships

Dependencies (1)

Components this component depends on

Dependents (2)

Components that depend on this component