Service Layer low complexity mobilebackend
2
Dependencies
2
Dependents
2
Entities
0
Integrations

Description

Manages CRUD operations for workshop participant records, including registering new participants, updating attendance status values (registered/present/absent/excused), and reading the full roster for a given workshop. Queues attendance status mutations through the offline outbox for optimistic updates.

Feature: Workshop Participant Lists

workshop-participant-service

Sources & reasoning

A dedicated service isolates the business logic for participant roster management, attendance status transitions, and offline mutation queuing. This keeps the UI layer thin and ensures attendance changes are properly queued for sync when offline during a session.

No source references — this artifact was included based on reasoning alone (see above).

Responsibilities

  • Create, read, update, and delete workshop_participants records
  • Queue optimistic attendance status mutations via the offline outbox
  • Provide attendance summary counts (present, absent, excused) for a workshop
  • Validate attendance_status enum values before persistence

Interfaces

getParticipants(workshopId)
addParticipant(workshopId, contactId, userId)
updateAttendanceStatus(participantId, status)
removeParticipant(participantId)
getAttendanceSummary(workshopId)

Relationships

Dependencies (2)

Components this component depends on

Dependents (2)

Components that depend on this component

Related Data Entities (2)

Data entities managed by this component