Service Layer medium complexity backend
0
Dependencies
0
Dependents
3
Entities
0
Integrations

Description

Backend service responsible for processing bulk activity registration requests by iterating over the selected peer mentor IDs and creating individual activity records for each. It enforces authorization rules, validates activity data, and collects per-record success or failure outcomes into a consolidated result. The service integrates with the activity logging infrastructure used by the simple-activity-logging feature.

Feature: Bulk Registration

bulk-registration-service

Sources & reasoning

Lines 83-84 explicitly describe bulk registration for recurring group activities as a coordinator need shared by NHF, HLF, and Barnekreftforeningen. Line 151 assigns SHOULD HAVE priority in Phase 2 (Fase 2), mapping to v1.0 by ordinal position. The blueprint confirms [v1.0] for this feature. The SHOULD HAVE classification and second-phase placement together rule out MVP and confirm v1.0.

  • docs/source/likeperson.md · line 83-84
    Koordinatorer må ha mulighet til å registrere aktivitet på vegne av sine likepersoner, enten enkeltvis eller samlet for faste aktiviteter (f.eks. ukentlig trening med mange deltakere).
  • docs/source/likeperson.md · line 151
    | Bulkregistrering / proxy-rapportering | ✓ | ✓ | - | ✓ | ✓ | SHOULD HAVE | 2 |

Responsibilities

  • Validate coordinator authorization before processing any records
  • Iterate over selected mentor IDs and create individual activity records
  • Collect and aggregate per-record success and failure outcomes
  • Enforce business rules such as duplicate detection and activity eligibility
  • Return a structured BulkSubmissionResult to the calling client

Interfaces

processBulkRegistration(coordinatorId, mentorIds, activityDetails): BulkSubmissionResult
validateActivityDetails(details: ActivityDetails): ValidationResult
createActivityRecord(mentorId, activityDetails): ActivityRecord
checkDuplicate(mentorId, activityDetails): boolean