Service Layer high complexity backend
1
Dependencies
1
Dependents
9
Entities
0
Integrations

Description

Backend service responsible for atomically creating individual activity records for each selected participant within a single database transaction. Accepts a participants array alongside standard activity fields, validates all inputs, generates one activity record per participant, and returns a summary of created records. Partial failures roll back the entire batch to prevent inconsistent state.

Feature: Bulk Registration

bulk-processing-service

Responsibilities

  • Accept bulk registration request with activity definition and participants array
  • Validate coordinator permissions and participant membership in local association
  • Generate individual activity records for each participant within an atomic transaction
  • Roll back entire batch on any partial failure to maintain data consistency
  • Return detailed submission summary with created record count and any errors

Interfaces

submitBulkRegistration(activityDef: ActivityDefinition, participantIds: List<String>): BulkSubmissionResult
validateBulkRequest(activityDef: ActivityDefinition, participantIds: List<String>): ValidationResult
getBulkRegistrationHistory(coordinatorId: String, page: int, limit: int): PaginatedResult<BulkRegistration>
getBulkRegistrationDetail(bulkId: String): BulkRegistrationDetail
cancelBulkRegistration(bulkId: String): CancelResult
getEligibleParticipants(coordinatorId: String, associationId: String): List<Contact>

Relationships

Dependencies (1)

Components this component depends on

Dependents (1)

Components that depend on this component