17 lines
805 B
TypeScript
17 lines
805 B
TypeScript
import { CustomerInvoiceItem } from "#/server/domain";
|
|
import { IInvoicingContext } from "#/server/intrastructure";
|
|
import { Collection } from "@rdx/core";
|
|
|
|
export const customerInvoiceItemPresenter = (items: Collection<CustomerInvoiceItem>, context: IInvoicingContext) =>
|
|
items.totalCount > 0
|
|
? items.items.map((item: CustomerInvoiceItem) => ({
|
|
description: item.description.toString(),
|
|
quantity: item.quantity.toString(),
|
|
unit_measure: "",
|
|
unit_price: item.unitPrice.toPrimitive() as IMoney_Response_DTO,
|
|
subtotal: item.calculateSubtotal().toPrimitive() as IMoney_Response_DTO,
|
|
tax_amount: item.calculateTaxAmount().toPrimitive() as IMoney_Response_DTO,
|
|
total: item.calculateTotal().toPrimitive() as IMoney_Response_DTO,
|
|
}))
|
|
: [];
|