Workshop Participant Service
Component Detail
Description
Manages CRUD operations for workshop participant records, including registering new participants, updating attendance status values (registered/present/absent/excused), and reading the full roster for a given workshop. Queues attendance status mutations through the offline outbox for optimistic updates.
workshop-participant-service
Sources & reasoning
A dedicated service isolates the business logic for participant roster management, attendance status transitions, and offline mutation queuing. This keeps the UI layer thin and ensures attendance changes are properly queued for sync when offline during a session.
No source references — this artifact was included based on reasoning alone (see above).
Responsibilities
- Create, read, update, and delete workshop_participants records
- Queue optimistic attendance status mutations via the offline outbox
- Provide attendance summary counts (present, absent, excused) for a workshop
- Validate attendance_status enum values before persistence
Interfaces
getParticipants(workshopId)
addParticipant(workshopId, contactId, userId)
updateAttendanceStatus(participantId, status)
removeParticipant(participantId)
getAttendanceSummary(workshopId)
Relationships
Dependencies (2)
Components this component depends on
Dependents (2)
Components that depend on this component
Related Data Entities (2)
Data entities managed by this component