Bulk Processing Service
Component Detail
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.
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
Related Data Entities (9)
Data entities managed by this component