Organization Service
Component Detail
Service Layer
medium complexity
backend
2
Dependencies
1
Dependents
4
Entities
0
Integrations
Description
Backend service encapsulating all business logic for reading and writing organization settings. Validates incoming payloads against allowed fields and value ranges, encrypts sensitive fields (e.g., integration API keys) using AES-256 before persistence, and emits structured audit log events for every write operation. Enforces multi-tenant isolation by verifying the requesting user's JWT org context before any operation.
organization-service
Responsibilities
- Validate organization settings update payloads against business rules
- Encrypt sensitive fields (API keys, credentials) at rest using AES-256
- Persist validated settings via Organization Repository
- Emit audit log events for all settings changes including actor, field, old value, and new value
- Enforce multi-tenant isolation by matching JWT org context to target org ID
Interfaces
getOrganizationSettings(orgId: string): Promise<OrganizationSettings>
updateOrganizationSettings(orgId: string, payload: Partial<OrganizationSettings>, actorId: string): Promise<OrganizationSettings>
encryptSensitiveFields(settings: Partial<OrganizationSettings>): Partial<OrganizationSettings>
validateSettingsPayload(payload: unknown): ValidationResult
emitSettingsAuditEvent(orgId: string, changes: SettingsChangeDiff, actorId: string): void
Relationships
Dependencies (2)
Components this component depends on
Related Data Entities (4)
Data entities managed by this component