configuration PK: id 8 required 1 unique

Description

Per-organization overrides for platform display labels and terminology, allowing each tenant to substitute canonical terms (e.g. 'Contact', 'Peer Mentor') with org-specific language (e.g. 'Familie', 'Bruker') without code changes.

11
Attributes
3
Indexes
5
Validation Rules
11
CRUD Operations

Data Structure

Name Type Description Constraints
id uuid Primary key
PKrequiredunique
organization_id uuid FK to organizations — the tenant this override belongs to
required
term_key string Canonical platform term key (e.g. 'contact', 'peer_mentor', 'coordinator', 'my_contacts', 'activity', 'assignment')
required
display_value string The org-specific replacement string shown in the UI (e.g. 'Familie', 'Bruker', 'Deltaker')
required
display_value_plural string Plural form of the override (e.g. 'Familier', 'Brukere'). Null means use display_value as-is.
-
locale string BCP-47 locale code this override applies to (e.g. 'nb-NO', 'en'). Defaults to 'nb-NO'.
-
is_active boolean Whether this override is currently applied. Inactive overrides fall back to platform default.
required
created_by uuid FK to users — the Org Admin who created this override
required
updated_by uuid FK to users — last Org Admin who modified this override
-
created_at datetime Record creation timestamp
required
updated_at datetime Last modification timestamp
required

Database Indexes

idx_terminology_overrides_org_id
btree

Columns: organization_id

idx_terminology_overrides_org_term_locale
btree unique

Columns: organization_id, term_key, locale

idx_terminology_overrides_active
btree

Columns: organization_id, is_active

Validation Rules

display_value_not_blank error

Validation failed

display_value_max_length error

Validation failed

locale_format error

Validation failed

unique_org_term_locale error

Validation failed

organization_must_exist error

Validation failed

Business Rules

org_scoped_overrides
always

Each override is strictly scoped to one organization. No override can affect another tenant's display labels.

only_known_term_keys
on_create

term_key must be one of the platform-defined canonical keys (contact, my_contacts, peer_mentor, peer_mentors, coordinator, coordinators, activity, assignment). Unknown keys are rejected to prevent orphaned config.

Enforced by: TerminologyService
fallback_to_platform_default
always

If no active override exists for a term_key + locale combination, the platform default string is used. The mobile app and admin portal always resolve terminology via this fallback chain.

cached_on_bootstrap
on_update

Active overrides for the authenticated user's organization are returned in the session/bootstrap response and cached offline (mobile) or in the SSR response (admin portal). Stale cache is invalidated when overrides are updated.

org_admin_only_write
on_create

Only users with Org Admin or Global Admin role may create, update, or delete overrides for an organization.

Enforced by: TerminologyService
audit_on_change
on_update

Every create/update/delete of a terminology override is written to audit_logs with actor, old value, and new value for compliance traceability.

Enforced by: AuditLogService

Storage Configuration

Storage Type
lookup_table
Location
main_db
Partitioning
No Partitioning
Retention
Permanent Storage