Data Layer medium complexity mobilebackend
0
Dependencies
0
Dependents
3
Entities
0
Integrations

Description

Repository layer responsible for all CRUD operations on the `travel_expense_reports` and `expense_items` Supabase tables with RLS policies scoped to the submitting user. Handles creating new expense reports, appending expense items, fetching report history, and updating approval status.

Feature: Travel Reimbursement Registration

expense-repository

Responsibilities

  • Create new travel expense reports in Supabase with correct user scoping via RLS
  • Insert individual expense items linked to a parent expense report
  • Fetch expense report history for the authenticated user
  • Handle optimistic updates and error rollback for offline-tolerant UX

Interfaces

createExpenseReport(report)
addExpenseItem(reportId, item)
getExpenseReports(userId)
getExpenseReportById(reportId)
getExpenseItems(reportId)
updateExpenseReport(reportId, updates)
deleteExpenseReport(reportId)
getReportsByStatus(userId, status)

Related Data Entities (3)

Data entities managed by this component