WorkshopParticipantService
Component Detail
Service Layer
medium complexity
backend
0
Dependencies
0
Dependents
1
Entities
0
Integrations
Description
Handles business logic for managing workshop participant records within the Mentor Program area. Enforces capacity limits, validates role-based access before mutations, and aggregates participation rate data for reporting. Bridges the screen layer to the repository.
workshop-participant-service
Sources & reasoning
Line 100 names "deltakerlister" (participant lists) as one of three explicit sub-capabilities of the mentorordning for two-day group sessions. This is a verbatim requirement from Blindeforbundet. Fase 3 placement confirmed by line 357, mapping to v1.1. Depends on Career Workshops as the parent session entity that participant records reference.
-
docs/source/likeperson.md · line 100**Mentorordning (karriereverksted):** Eget notatverktøy, to-do-lister og deltakerlister for gruppeveiledning over to dager.
Responsibilities
- Validate coordinator permissions before add or remove operations
- Enforce session capacity constraints when registering participants
- Record and update attendance status for individual participants
- Aggregate participation and attendance history for reporting queries
- Emit participation events consumed by the reporting pipeline
Interfaces
getParticipants(sessionId: string): ParticipantRecord[]
addParticipant(sessionId: string, userId: string): ParticipantRecord
removeParticipant(participantId: string): void
markAttendance(participantId: string, attended: boolean): ParticipantRecord
getAttendanceReport(sessionId: string): AttendanceSummary