Service Layer medium complexity backend
0
Dependencies
1
Dependents
7
Entities
0
Integrations

Description

Business logic layer managing career workshop lifecycle including creation, registration, roster management, and facilitator tools. Workshops are modeled as a specialized subtype of courses differentiated by a type flag. Enforces access control so only coordinators and org admins can create or facilitate workshops.

Feature: Career Workshops

workshop-service

Responsibilities

  • Manage workshop CRUD operations as course subtypes with workshop type flag
  • Handle participant registration and waitlist management
  • Provide roster data filtered by facilitator's local association scope
  • Manage facilitator notes and checklist persistence
  • Enforce role-based access control for workshop facilitation

Interfaces

getWorkshops(filters)
getWorkshopById(workshopId)
createWorkshop(workshopData)
updateWorkshop(workshopId, data)
registerParticipant(workshopId, userId)
unregisterParticipant(workshopId, userId)
getRoster(workshopId, facilitatorScope)
saveChecklist(workshopId, items)
getChecklist(workshopId)
saveFacilitatorNote(workshopId, noteData)
getFacilitatorNotes(workshopId)
canFacilitate(userId, workshopId)

Relationships

Dependents (1)

Components that depend on this component