Data Layer medium complexity backend
0
Dependencies
0
Dependents
0
Entities
0
Integrations

Description

Data access layer responsible for persisting and querying export log entries and per-record export results. Provides the storage backbone for export history, per-record status tracking, and retry eligibility checks.

Feature: Accounting Export

export-log-repository

Sources & reasoning

The same Fase 3 roadmap entry on line 353 covers the full accounting integration scope, which includes both the API connection and the administrator-facing export workflow. Line 72 confirms the export need originates from HLF and Blindeforbundet expense processes. Fase 3 maps to v1.1. The export UI is a distinct feature from the API client because it has its own page, service, and log components.

Responsibilities

  • Create export log entries recording the initiating admin, filters, timestamp, and overall status
  • Persist per-record export results including transfer status and failure details
  • Query export log history for an organization with pagination support
  • Retrieve individual record results to support retry workflows
  • Mark records as successfully retried to prevent duplicate resubmission

Interfaces

createExportLog(entry: ExportLogEntry): Promise<string>
saveRecordResults(exportLogId: string, results: RecordExportResult[]): Promise<void>
getExportLogByOrg(orgId: string, page: number, pageSize: number): Promise<ExportLogPage>
getFailedRecords(exportLogId: string): Promise<RecordExportResult[]>
markRecordRetried(exportLogId: string, recordId: string, success: boolean): Promise<void>