import { MapperParamsType, Taxes } from "@erp/core/api"; import { InferCreationAttributes } from "sequelize"; import { CustomerInvoiceItemModel, CustomerInvoiceItemTaxModel } from "../sequelize"; export class ItemTaxesMapper { public mapArrayToDomain(item: CustomerInvoiceItemModel, params?: MapperParamsType) { const taxes = Taxes.create({ items: [] }); item.taxes.split(",").every((tax_code, taxIndex) => { const taxResult = Tax.createFromCode(tax_code, this.taxCatalog); if (taxResult.isSuccess) { taxes.add(taxResult.data); } else { this.errors.push({ path: `items[${itemIndex}].taxes[${taxIndex}]`, message: taxResult.error.message, }); } }); return taxes; } public mapToPersistence( source: Taxes, params?: MapperParamsType ): InferCreationAttributes { /*const { index, sourceParent } = params as { index: number; sourceParent: CustomerInvoice; };*/ } }