Assignment Repository
Component Detail
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.
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