Data Layer medium complexity backend
0
Dependencies
0
Dependents
0
Entities
0
Integrations

Description

Data access layer responsible for persisting and retrieving participant records associated with events. It provides CRUD operations against the participant records store and supports downstream Bufdir reporting by exposing query interfaces for group activity reach data.

Feature: Event Sign-up

event-participant-repository

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.

  • Oppfølging av likepersoner: 40 % var ikke fornøyd med oppfølgingen i spørreundersøkelse. Scenariobaserte push-meldinger og kalendersynkronisering.
  • Fase 2 - Kjerneprodukt - Bufdir-rapportering og eksport med ett klikk (kun i Admin Web Portal; mobilen bidrar med selve aktivitetsregistreringen)

Responsibilities

  • Persist new participant registration records to the database
  • Retrieve all participant records for a given event
  • Delete a participant record when a registration is removed
  • Support reporting queries for participant counts and activity reach

Interfaces

create(eventId: string, userId: string): Promise<ParticipantRecord>
findByEvent(eventId: string): Promise<ParticipantRecord[]>
findByUser(userId: string): Promise<ParticipantRecord[]>
delete(eventId: string, userId: string): Promise<void>
countByEvent(eventId: string): Promise<number>