Service Layer high complexity backend
3
Dependencies
1
Dependents
8
Entities
0
Integrations

Description

Core backend service encapsulating all admin-facing reimbursement operations including filtered listing, individual approval and rejection, bulk approval, and signed URL generation for receipt images. Enforces role-based scoping so coordinators only access reimbursements within their local association and organization administrators see their full organization. Delegates persistence to the shared reimbursement repository and triggers accounting integration webhooks post-approval.

Feature: Admin Reimbursement Oversight

admin-reimbursement-service

Responsibilities

  • Fetch paginated reimbursements filtered by peer mentor, expense type, status, amount range, and date
  • Apply role-scoped data filtering based on the authenticated user's organization and role
  • Process individual approval and rejection decisions with audit trail records
  • Execute bulk approval for an array of reimbursement IDs in a single transaction
  • Generate signed URLs for receipt images from object storage

Interfaces

listReimbursements(filters, pagination, userContext)
getReimbursementDetail(id, userContext)
approveReimbursement(id, approverId)
rejectReimbursement(id, approverId, reason)
bulkApprove(ids[], approverId)
bulkReject(ids[], approverId, reason)
generateReceiptSignedUrl(receiptId, expiresInSeconds)
getApprovalHistory(reimbursementId)
exportApprovedReimbursements(filters)

Relationships

Dependencies (3)

Components this component depends on

Dependents (1)

Components that depend on this component