Bulk Transaction Handler
Component Detail
Infrastructure
high complexity
backend
0
Dependencies
0
Dependents
3
Entities
0
Integrations
Description
Backend infrastructure component that executes the atomic database transaction, creating one activity record per selected participant within a single transaction boundary. Guarantees all-or-nothing semantics — any insert failure triggers a full rollback of the entire batch. Writes a labeled bulk operation entry to the audit log on both success and failure, ensuring bulk actions are clearly identifiable in the activity feed.
bulk-transaction-handler
Responsibilities
- Execute database transaction inserting one activity row per participant atomically
- Roll back the entire batch on any single insert failure to prevent partial state
- Write labeled bulk operation summary to the audit log
- Validate that all participant IDs belong to the coordinator's association before insert
Interfaces
executeBulkInsert(activityData: ActivityData, participantIds: string[]): Promise<BulkInsertResult>
rollbackBatch(transactionId: string): Promise<void>
logBulkOperation(operationId: string, coordinatorId: string, result: BulkInsertResult): Promise<void>
validateParticipantScope(coordinatorId: string, participantIds: string[]): Promise<boolean>
getBulkOperationRecord(operationId: string): Promise<BulkOperationRecord>
Related Data Entities (3)
Data entities managed by this component