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.

Feature: Workshop Participant Lists

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.

  • **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

Related Data Entities (1)

Data entities managed by this component