Data Layer medium complexity backend
0
Dependencies
3
Dependents
2
Entities
0
Integrations

Description

Provides CRUD data access for the assignments and assignment_status_logs tables. Stores only ciphertext and metadata on the backend — plaintext never persists server-side. Supports querying by coordinator, recipient, status, and date range for reporting and oversight.

Feature: Encrypted Assignment Dispatch & Tracking

assignment-repository

Responsibilities

  • Persist encrypted assignment ciphertext and metadata
  • Insert and query assignment_status_logs entries
  • Support coordinator and peer mentor scoped queries
  • Provide soft-delete for GDPR compliance

Interfaces

createAssignment(encryptedPayload, metadata)
getAssignmentById(id)
getAssignmentsByCoordinator(coordinatorId, filter)
getAssignmentsByRecipient(peerMentorId, filter)
insertStatusLog(assignmentId, status, actorId, timestamp)
getStatusLogs(assignmentId)
softDeleteAssignment(id)
countOpenAssignments(coordinatorId)

Relationships

Dependents (3)

Components that depend on this component

Related Data Entities (2)

Data entities managed by this component