2025-08-26 18:55:59 +00:00
|
|
|
import { CustomerCreationResponseDTO } from "../../../../common";
|
|
|
|
|
import { Customer } from "../../../domain";
|
2025-08-11 17:49:52 +00:00
|
|
|
|
2025-08-14 14:58:13 +00:00
|
|
|
export class CreateCustomersAssembler {
|
2025-08-26 18:55:59 +00:00
|
|
|
public toDTO(customer: Customer): CustomerCreationResponseDTO {
|
2025-08-11 17:49:52 +00:00
|
|
|
return {
|
2025-08-21 07:44:07 +00:00
|
|
|
id: customer.id.toPrimitive(),
|
2025-08-26 18:55:59 +00:00
|
|
|
company_id: customer.companyId.toPrimitive(),
|
|
|
|
|
reference: customer.reference,
|
|
|
|
|
is_company: customer.isCompany,
|
|
|
|
|
name: customer.name,
|
|
|
|
|
trade_name: customer.tradeName,
|
|
|
|
|
tin: customer.tin.toPrimitive(),
|
2025-08-11 17:49:52 +00:00
|
|
|
|
2025-08-26 18:55:59 +00:00
|
|
|
email: customer.email.toPrimitive(),
|
|
|
|
|
phone: customer.phone.toPrimitive(),
|
|
|
|
|
fax: customer.fax.toPrimitive(),
|
|
|
|
|
website: customer.website,
|
2025-08-11 17:49:52 +00:00
|
|
|
|
2025-08-26 18:55:59 +00:00
|
|
|
default_tax: customer.defaultTax,
|
|
|
|
|
legal_record: customer.legalRecord,
|
|
|
|
|
lang_code: customer.langCode,
|
|
|
|
|
currency_code: customer.currencyCode,
|
2025-08-11 17:49:52 +00:00
|
|
|
|
2025-08-26 18:55:59 +00:00
|
|
|
status: customer.isActive ? "active" : "inactive",
|
|
|
|
|
|
|
|
|
|
street: customer.address.street,
|
|
|
|
|
street2: customer.address.street2,
|
|
|
|
|
city: customer.address.city,
|
|
|
|
|
state: customer.address.state,
|
|
|
|
|
postal_code: customer.address.postalCode,
|
|
|
|
|
country: customer.address.country,
|
2025-08-11 17:49:52 +00:00
|
|
|
|
|
|
|
|
metadata: {
|
|
|
|
|
entity: "customer",
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|