Uecko_ERP/templates/new-module/src/api/infrastructure/mappers/domain/{{kebabCase name}}.mapper.ts.hbs

28 lines
780 B
Handlebars
Raw Normal View History

2025-09-27 19:28:50 +00:00
import type { {{pascalCase name}} } from "../../../domain";
import type { {{pascalCase name}}Model } from "../../sequelize/models/{{kebabCase name}}.model";
/**
* Mapper de dominio ↔ ORM/DTO
* @remarks
* - SSOT: punto único de traducción entre capas.
*/
export const {{camelCase name}}DomainMapper = {
toPersistence(entity: {{pascalCase name}}) {
// TODO: mapear campos reales
return {
id: entity.id,
company_id: entity.companyId,
status: (entity as any).status ?? "active",
};
},
toDomain(model: {{pascalCase name}}Model): {{pascalCase name}} {
// TODO: mapear campos reales
return {
id: model.id,
companyId: model.company_id,
status: (model as any).status,
} as unknown as {{pascalCase name}};
},
};