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.

Feature: Encrypted Assignment Dispatch

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