Data Layer medium complexity mobilebackend
0
Dependencies
0
Dependents
1
Entities
0
Integrations

Description

Persists and retrieves encrypted assignment records including ciphertext payloads, status flags, and confirmation timestamps. Provides offline-capable local storage so peer mentors can open assignments without a live connection. Syncs local state with the backend when connectivity is restored.

Feature: Encrypted Assignment Dispatch

assignment-repository

Sources & reasoning

Source lines 94-95 directly specify end-to-end encrypted dispatch with delivery/read confirmation and a 10-day reminder. Line 153 classifies this MUST for Blindeforbundet in Fase 2 of the priority matrix, and line 345 repeats it as Fase 2 critical in the roadmap. Fase 2 normalises to v1.0. The feature is the core unlock for Blindeforbundet's digital workflow and cannot be deferred.

  • docs/source/likeperson.md · line 94-95
    Kryptert oppdragshåndtering: Sende sensitive personopplysninger (navn, adresse, epikrise) til likepersoner med leveringsbekreftelse og lesebekreftelse. Statusoversikt over åpne oppdrag. Automatisk påminnelse etter 10 dager dersom kontakt ikke er oppr
  • docs/source/likeperson.md · line 153
    Kryptert oppdragshåndtering | - | - | ✓ | - | ✓ | MUST (Blindeforbundet) | 2
  • docs/source/likeperson.md · line 345
    Kryptert oppdragsutsendelse med statussporing (Blindeforbundet-kritisk)

Responsibilities

  • Store encrypted assignment ciphertext and metadata locally and remotely
  • Retrieve assignments by recipient peer mentor or coordinator with status filters
  • Persist delivery and read confirmation timestamps
  • Support offline reads from local cache with background sync on reconnect
  • Enforce retention and deletion policies on sensitive assignment data

Interfaces

saveAssignment(assignment: EncryptedAssignment): Promise<void>
getAssignment(assignmentId: string): Promise<EncryptedAssignment>
listByRecipient(mentorId: string): Promise<EncryptedAssignment[]>
listByCoordinator(coordinatorId: string): Promise<EncryptedAssignment[]>
updateStatus(assignmentId: string, status: AssignmentStatus): Promise<void>
deleteAssignment(assignmentId: string): Promise<void>

Related Data Entities (1)

Data entities managed by this component