Admin Reimbursement Service
Component Detail
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.
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
Related Data Entities (8)
Data entities managed by this component