EventParticipantService
Component Detail
Service Layer
medium complexity
backend
0
Dependencies
0
Dependents
1
Entities
0
Integrations
Description
Business logic layer that orchestrates event sign-up and participant management operations. It coordinates between the repository layer and the push notification system to register attendance, trigger reminder notifications, and enforce role-based access for coordinator-only actions such as removing participants.
event-participant-service
Sources & reasoning
The blueprint assigns Event Sign-up to v1.0, placing it in Phase 2 alongside other participation-tracking features. Line 116 references follow-up and scenario-based push notifications as a Phase 2 concern for HLF, which aligns with sign-up-triggered reminders. The feature is not launch-blocking but completes the event workflow once the listing surface is in place.
-
docs/source/likeperson.md · line 116Oppfølging av likepersoner: 40 % var ikke fornøyd med oppfølgingen i spørreundersøkelse. Scenariobaserte push-meldinger og kalendersynkronisering.
-
docs/source/likeperson.md · line 341-342Fase 2 - Kjerneprodukt - Bufdir-rapportering og eksport med ett klikk (kun i Admin Web Portal; mobilen bidrar med selve aktivitetsregistreringen)
Responsibilities
- Register a user as a participant for a given event
- Validate role-based permissions before allowing participant removal
- Coordinate with the push notification system to schedule event reminders
- Retrieve participant lists for display and Bufdir reporting purposes
- Remove a participant registration when requested by a coordinator
Interfaces
signUp(eventId: string, userId: string): Promise<ParticipantRecord>
removeParticipant(eventId: string, userId: string, requestingRole: string): Promise<void>
getParticipants(eventId: string): Promise<ParticipantRecord[]>
scheduleReminder(eventId: string, userId: string): Promise<void>