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.

Feature: Mentor Workshop & Career Tools

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)