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

Description

Backend service managing CRUD operations for organization-scoped label overrides stored in the organization_labels table. Merges overrides with platform defaults to produce the fully resolved label map, which is injected into the session bootstrap payload so clients need no extra round-trip at startup.

Feature: Custom Terminology

organization-labels-service

Responsibilities

  • Store and retrieve label key-value override pairs scoped to organization ID
  • Merge organization overrides with Label Key Registry defaults to produce the resolved map
  • Expose the resolved label map as part of the session bootstrap payload
  • Validate label values (non-empty, within length limits) before persistence
  • Support upsert and delete of individual overrides

Interfaces

getLabelMap(organizationId: string): Promise<Record<string, string>>
getOverrides(organizationId: string): Promise<LabelOverride[]>
upsertOverride(organizationId: string, key: string, value: string): Promise<void>
deleteOverride(organizationId: string, key: string): Promise<void>
getBootstrapLabelPayload(organizationId: string): Promise<LabelBootstrapPayload>

Relationships

Dependencies (2)

Components this component depends on

Dependents (1)

Components that depend on this component

Related Data Entities (1)

Data entities managed by this component