Service Layer high complexity backendmobile
0
Dependencies
0
Dependents
5
Entities
0
Integrations

Description

Handles manual coordinator attestation of reimbursement submissions, invoking authenticated Supabase RPC calls that append immutable audit records to preserve a complete approval history. Manages BLoC state for the approval queue and detail view, and dispatches push notifications on status transitions.

Feature: Reimbursement Approval Workflow

attestation-service

Responsibilities

  • Invoke authenticated RPC calls for approve and reject actions
  • Append immutable audit records to preserve the approval trail
  • Manage BLoC state for approval queue and detail screens
  • Dispatch push notifications on manual approval status transitions

Interfaces

attestApproval(approvalId: String, coordinatorId: String, comment: String?): Future<void>
rejectApproval(approvalId: String, coordinatorId: String, reason: String): Future<void>
getApprovalHistory(reportId: String): Future<List<ApprovalEvent>>
dispatchStatusNotification(userId: String, status: ApprovalStatus, comment: String?)
validateCoordinatorScope(coordinatorId: String, approvalId: String): bool
buildAuditRecord(action: ApprovalAction, actorId: String, comment: String?): ApprovalEvent