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.

Feature: Confidentiality Declarations

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 70
    Sjå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