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.

Feature: Coordinator Activity Approval & Correction

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)