Activity Approval Service
Component Detail
Service Layer
high complexity
frontendbackendmobile
0
Dependencies
0
Dependents
6
Entities
0
Integrations
Description
Core BLoC-based service orchestrating all state transitions for activity registrations within the approval workflow: pending → approved, pending → rejected, or pending → corrected. Handles transactional persistence in Supabase, triggers downstream effects such as reimbursement workflow initiation and duplicate flag suppression, and enforces coordinator authorization against organizational scope.
activity-approval-service
Responsibilities
- Validate coordinator authorization against activity's organizational scope
- Execute transactional state transitions (approve, reject, correct) in Supabase
- Trigger reimbursement approval workflow for approved expense claims
- Suppress duplicate flags on approved registrations via Duplicate Detection Service
- Emit BLoC state events for queue refresh and UI feedback
Interfaces
approveActivity(activityId, coordinatorId)
rejectActivity(activityId, reason, coordinatorId)
correctActivity(activityId, corrections, reason, coordinatorId)
bulkApprove(activityIds, coordinatorId)
getPendingQueue(coordinatorId, orgScope)
getActivityDetail(activityId)
validateCoordinatorScope(coordinatorId, activityId)
getApprovalHistory(activityId)
countPendingByType(coordinatorId)
Related Data Entities (6)
Data entities managed by this component