Workshop Repository
Component Detail
Data Layer
medium complexity
backend
0
Dependencies
0
Dependents
3
Entities
0
Integrations
Description
Data access layer that persists and retrieves all workshop-related records to and from Supabase using the workshop_sessions, workshop_participants, and workshop_notes tables. Implements row-level security so sessions are only accessible to the facilitating coordinator and admin roles. Provides transactional operations for session creation with initial participant seeding.
workshop-repository
Responsibilities
- CRUD operations for workshop_sessions, workshop_participants, and workshop_notes
- Enforce row-level security scoped to coordinator and admin roles
- Provide aggregate queries for session counts by organisation and period
- Support transactional session creation with participant and note initialisation
Interfaces
createSession(data)
getSessionById(sessionId)
listSessionsByCoordinator(coordinatorId)
updateSession(sessionId, data)
deleteSession(sessionId)
addParticipant(sessionId, contactId)
removeParticipant(sessionId, participantId)
getParticipants(sessionId)
saveNotes(sessionId, content)
getNotes(sessionId)
saveTodos(sessionId, todos)
getTodos(sessionId)
countCompletedSessions(organisationId, from, to)
Related Data Entities (3)
Data entities managed by this component