WorkshopRepository
Component Detail
Data Layer
medium complexity
backend
0
Dependencies
0
Dependents
0
Entities
0
Integrations
Description
Manages all persistence operations for workshop entities including workshops, participants, attendance records, and session notes. Provides typed query methods that abstract the underlying database layer and support the service tier with efficient data access patterns.
workshop-repository
Sources & reasoning
Lines 100 and 358 place Career Workshops (Mentorordning/karriereverksted) as a Blindeforbundet-specific feature explicitly listed under Fase 3 (Growth & Engagement). Line 471 confirms it as a named feature in the mentor-program area. Fase 3 is the third development phase, mapping to v1.1 by ordinal convention.
-
docs/source/likeperson.md · line 100**Mentorordning (karriereverksted):** Eget notatverktøy, to-do-lister og deltakerlister for gruppeveiledning over to dager.
-
docs/source/likeperson.md · line 358Mentorordning / Career Workshops (Blindeforbundet)
-
docs/source/likeperson.md · line 471| mentor-program | Mentor Program | Career Workshops, Workshop Notes, Workshop Participant Lists, Workshop To-Do Lists |
Responsibilities
- Persist and retrieve workshop records with full metadata
- Store and query participant lists and attendance records per workshop
- Save, update, and fetch workshop session notes linked to participants
- Support filtered queries by date range, status, coordinator, and participant
- Handle transactional writes for multi-entity workshop operations
Interfaces
findById(workshopId: string): Promise<Workshop | null>
findByCoordinator(coordinatorId: string): Promise<Workshop[]>
findByParticipant(userId: string): Promise<Workshop[]>
save(workshop: Workshop): Promise<Workshop>
addParticipant(workshopId: string, userId: string): Promise<void>
saveNote(note: WorkshopNote): Promise<WorkshopNote>
getNotesByWorkshop(workshopId: string): Promise<WorkshopNote[]>