Service Layer medium complexity backend
1
Dependencies
1
Dependents
4
Entities
0
Integrations

Description

Read-side backend service exposing a paginated, filterable REST endpoint that returns expense claims scoped to the authenticated approver's organization. Handles query parameter validation, builds efficient SQL with optional status, date range, and submitter filters, and returns normalized claim summaries with attachment counts for queue rendering.

Feature: Expense Approval Queue

expense-approval-query-service

Responsibilities

  • Scope claim queries to the approver's organization using tenant isolation
  • Accept and validate filter parameters (status, date range, submitter_id, page, limit)
  • Return paginated claim summaries including claimant name, amount, type, date, and receipt count
  • Provide a single-claim detail endpoint joining expense_items, expense_receipts, and declarations
  • Support efficient cursor or offset pagination for large result sets

Interfaces

getClaimsQueue(organizationId, filters, pagination)
getClaimDetail(claimId, organizationId)
countPendingClaims(organizationId)
buildFilteredClaimQuery(filters)
paginateClaims(query, page, limit)

Relationships

Dependencies (1)

Components this component depends on

Dependents (1)

Components that depend on this component