Assignment Dispatch Service
Component Detail
Service Layer
high complexity
backend
3
Dependencies
2
Dependents
2
Entities
0
Integrations
Description
Manages the full lifecycle of encrypted assignment dispatch: coordinators create and send assignments, delivery and read receipts are tracked, and push notifications are triggered with only the assignment ID in the payload. Exposes coordinator-facing status and filtering endpoints alongside peer mentor inbox and acknowledgment endpoints.
assignment-dispatch-service
Responsibilities
- Accept assignment creation from coordinators, encrypt via Encryption Service, persist to assignments table
- Trigger push notification on dispatch containing only the assignment ID
- Record delivery confirmation and acknowledgment events in Assignment Reads Table
- Expose coordinator queries: list open assignments filtered by mentor, status, and age
- Enforce recipient-scoped access so only the intended recipient can fetch the encrypted blob
Interfaces
createAssignment(coordinatorId, recipientId, content) -> Assignment
getInboxForUser(userId) -> Assignment[]
getAssignment(assignmentId, userId) -> EncryptedAssignment
acknowledgeAssignment(assignmentId, userId) -> ReadReceipt
listOpenAssignments(coordinatorId, filters) -> Assignment[]
getAssignmentStatus(assignmentId) -> AssignmentStatus
Relationships
Dependencies (3)
Components this component depends on
Dependents (2)
Components that depend on this component
Related Data Entities (2)
Data entities managed by this component