mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-28 10:10:57 +00:00
28 lines
1.3 KiB
TypeScript
28 lines
1.3 KiB
TypeScript
import { Invoice } from "../billing/entities/invoice.entity";
|
|
import { EimsInvoiceStatus, EimsInvoiceStatusView } from "./eims-registration.types";
|
|
|
|
/**
|
|
* `Invoice` → `EimsInvoiceStatusView`, shared by every service that mutates EIMS state on an
|
|
* invoice (registration, cancellation, receipts) — one place defines what "the current EIMS
|
|
* status of an invoice" means to a caller.
|
|
*/
|
|
export function toEimsInvoiceStatusView(invoice: Invoice): EimsInvoiceStatusView {
|
|
const counter = invoice.eimsInvoiceCounter;
|
|
return {
|
|
invoiceId: invoice.id,
|
|
invoiceNumber: invoice.invoiceNumber,
|
|
eimsStatus: invoice.eimsStatus ?? EimsInvoiceStatus.NotSubmitted,
|
|
eimsIrn: invoice.eimsIrn ?? null,
|
|
eimsDocumentNumber: invoice.eimsDocumentNumber ?? null,
|
|
eimsInvoiceCounter: counter === null || counter === undefined ? null : Number(counter),
|
|
eimsSubmittedAt: invoice.eimsSubmittedAt ?? null,
|
|
eimsAckDate: invoice.eimsAckDate ?? null,
|
|
eimsLastError: invoice.eimsLastError ?? null,
|
|
eimsSignedQr: invoice.eimsSignedQr ?? null,
|
|
eimsCancelledAt: invoice.eimsCancelledAt ?? null,
|
|
eimsCancellationDate: invoice.eimsCancellationDate ?? null,
|
|
eimsCancellationReasonCode: invoice.eimsCancellationReasonCode ?? null,
|
|
eimsCancellationRemark: invoice.eimsCancellationRemark ?? null,
|
|
};
|
|
}
|