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

Description

Data access layer providing CRUD operations for assignments, assignment_dispatches, and assignment_read_receipts tables in Supabase. Abstracts all database queries behind typed Dart interfaces. Supports real-time subscriptions for coordinator status dashboards and peer mentor inbox updates.

Feature: Encrypted Assignment Dispatch

assignment-repository

Responsibilities

  • Create and persist encrypted assignment records
  • Query assignments by recipient or coordinator
  • Update dispatch and read receipt status
  • Provide real-time streams for status changes

Interfaces

createAssignment(assignment)
getAssignmentById(assignmentId)
getAssignmentsForRecipient(userId)
getAssignmentsForCoordinator(coordinatorId)
updateDispatchStatus(assignmentId, status)
createReadReceipt(assignmentId, userId, timestamp)
createDeliveryAcknowledgement(assignmentId, timestamp)
streamAssignmentStatus(assignmentId)
listOpenAssignments(coordinatorId)
deleteAssignment(assignmentId)