ConfidentialityDeclarationService
Component Detail
Service Layer
medium complexity
backend
0
Dependencies
0
Dependents
3
Entities
0
Integrations
Description
Business logic layer that manages declaration versioning, compliance checks, and submission processing. Enforces the rule that chauffeur-type expense or activity submission is blocked without a valid declaration for the current version. Exposes read access for coordinators and org admins in the Admin Web Portal.
confidentiality-declaration-service
Sources & reasoning
Line 70 explicitly names taushetseerklæringer (confidentiality declarations) for drivers as a Blindeforbundet expense-area requirement. The expense-reimbursement area is Phase 2 (lines 148, 343), placing this at v1.0. This is a legal compliance requirement, not a preference, which drives the must-enforce-before-submit design.
-
docs/source/likeperson.md · line 70Sjåfærhonorarer og taushetseerklæringer for sjåfører (Blindeforbundet).
Responsibilities
- Determine the current active declaration version
- Validate whether a user has a valid declaration on record
- Process and persist new declaration submissions
- Expose compliance status queries for admin portal consumption
- Trigger compliance re-check when a new declaration version is published
Interfaces
getActiveDeclarationVersion(): DeclarationVersion
hasValidDeclaration(userId): boolean
submitDeclaration(userId, versionId, acceptedAt): DeclarationRecord
getDeclarationStatusForAdmin(orgId): UserComplianceList
invalidateDeclarations(newVersionId): void
Related Data Entities (3)
Data entities managed by this component