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

Description

Backend service exposing a REST API for resolving, creating, updating, and deleting organization-specific terminology overrides. Serves the canonical term map enriched with per-organization overrides to both the Flutter mobile app (fetched at login) and the admin portal (loaded server-side per request). Falls back to canonical Meander terms when no override is defined.

Feature: Custom Terminology

terminology-service

Responsibilities

  • Expose GET /api/v1/organizations/:orgId/terminology returning the full resolved term map
  • Handle CRUD operations on individual terminology overrides
  • Validate overrides to prevent empty or blank values
  • Return canonical fallback terms for any key without an organization override
  • Enforce RBAC so only Org Admins and Global Admins may write overrides

Interfaces

getTerminologyMap(orgId: string): Record<string, string>
getOverrides(orgId: string): TerminologyOverride[]
upsertOverride(orgId: string, termKey: string, value: string): TerminologyOverride
deleteOverride(orgId: string, termKey: string): void
validateOverride(termKey: string, value: string): ValidationResult
getCanonicalTerms(): Record<string, string>

Relationships

Dependencies (1)

Components this component depends on

Dependents (2)

Components that depend on this component

Related Data Entities (1)

Data entities managed by this component