Data Layer medium complexity backend
0
Dependencies
0
Dependents
0
Entities
0
Integrations

Description

Provides persistence operations for workshop participant records in the database. Links participant entries to parent workshop sessions and to user profiles. Supports queries needed for both the coordinator management view and the attendance reporting pipeline.

Feature: Workshop Participant Lists

workshop-participant-repository

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

  • Create, read, update, and delete participant records linked to sessions
  • Query all participants for a given session with user profile joins
  • Fetch all sessions a specific user is enrolled in
  • Update attendance status fields and persist timestamps
  • Return aggregate counts for participation rate calculations

Interfaces

findBySession(sessionId: string): ParticipantRecord[]
findByUser(userId: string): ParticipantRecord[]
create(sessionId: string, userId: string): ParticipantRecord
delete(participantId: string): void
updateAttendance(participantId: string, attended: boolean, timestamp: Date): ParticipantRecord
countBySession(sessionId: string): AttendanceCounts