OrganizationSettingsService
Component Detail
Service Layer
medium complexity
backend
0
Dependencies
0
Dependents
9
Entities
0
Integrations
Description
Business logic layer that coordinates reading and writing organization settings. Applies authorization checks to ensure only permitted roles can modify settings, and orchestrates persistence through the repository. Handles locale normalization and module configuration validation before committing changes.
organization-settings-service
Sources & reasoning
Phase 1 MVP admin scope (line 327) explicitly lists 'Organisasjonsinnstillinger'. admin-organization is always-on (line 241), making this non-deferrable. The support-access grant (line 259) is a hard tenant-isolation requirement across all organizations.
-
docs/source/likeperson.md · line 327-328Organisasjonsinnstillinger og terminologikonfigurasjon
-
docs/source/likeperson.md · line 241Admin Web Portal: admin-dashboard, admin-user-management, admin-organization, admin-security. admin-organization is always-on because it hosts the Feature Toggles UI itself
-
docs/source/likeperson.md · line 259Orgs can grant a Global Admin time-bounded support access via a flag in Organization Settings (e.g. "Allow Norse support access until {date}"); revoking the flag or hitting the expiry immediately removes access.
Responsibilities
- Authorize settings read and write operations against the caller's role
- Validate and normalize locale preferences and contact detail formats
- Coordinate support-access grant logic including expiry and audit logging
- Validate module-level configuration values against allowed schemas
- Return structured settings objects to the UI layer
Interfaces
getSettings(orgId: string): Promise<OrganizationSettings>
updateSettings(orgId: string, data: OrganizationSettingsInput, actorId: string): Promise<OrganizationSettings>
grantSupportAccess(orgId: string, actorId: string, expiresAt: Date): Promise<void>
revokeSupportAccess(orgId: string, actorId: string): Promise<void>
validateModuleConfig(config: ModuleConfig): ValidationResult
Related Data Entities (9)
Data entities managed by this component
Activity Type
15 fields
configuration
Assignment Threshold
10 fields
configuration
Expense Type
16 fields
configuration
External Resource Link
13 fields
configuration
Local Association
13 fields
core
Organization
21 fields
core
Organization Settings
25 fields
configuration
Support Access Grant
15 fields
audit
Terminology Override
11 fields
configuration