Bulk Job Repository
Component Detail
Data Layer
low complexity
backend
0
Dependencies
1
Dependents
0
Entities
0
Integrations
Description
Data access layer for persisting and querying asynchronous bulk operation jobs. Stores job ID, status (pending/processing/completed/failed), progress counters, result payload, and expiry. Queried by the status polling endpoint to return real-time progress to the frontend.
bulk-job-repository
Responsibilities
- Create and persist new async job records with initial pending status
- Update job progress counters and status during processing
- Return job status and result payload for polling queries
- Expire completed job records after a retention window
Interfaces
createJob(jobId: string, orgId: string, action: BulkActionType, totalCount: number): Promise<void>
updateProgress(jobId: string, processed: number, succeeded: number, failed: number): Promise<void>
completeJob(jobId: string, result: BulkOperationResult): Promise<void>
getJob(jobId: string): Promise<BulkJobRecord | null>