Service Layer medium complexity backend
0
Dependencies
0
Dependents
3
Entities
0
Integrations

Description

Backend service that manages terminology overrides per organization and resolves the effective label set used by clients. Merges org-specific overrides with platform defaults and exposes the resolved map to the Mobile App bootstrap response.

Feature: Custom Terminology

terminology-service

Sources & reasoning

Explicitly described as an existing mobile capability (§231) with overrideable terminology per org (§395). The admin portal must own the editor surface since admin-organization is the toggle/config hub. MVP because it's listed in the Admin MVP scope (§247) as 'terminologikonfigurasjon'.

  • Organization labels system - per-org terminology overrides fetched from backend and cached offline (currently: `contacts`, `my_contacts`, `peer_mentors`; extensible to singular forms and role terms
  • Contact | Person receiving support from a peer mentor | Kontakt (overrideable per org via the Organization Labels system, e.g. `Familie`, `Bruker`)

Responsibilities

  • Persist and update terminology overrides for an organization
  • Resolve effective labels by merging defaults with org overrides
  • Serve resolved terminology in the bootstrap response payload
  • Validate override keys against the allowed terminology schema
  • Invalidate cached resolutions when overrides change

Interfaces

getTerminology(orgId): ResolvedTerminology
setOverride(orgId, key, value): TerminologyEntry
deleteOverride(orgId, key): void
resolveForBootstrap(orgId): Record<string,string>