UNPKG

facturacionelectronicapy-ts-xmlgen

Version:

Genera el contenido del archivo XML del Documento electrónico exigido por la SET

69 lines (68 loc) • 2.73 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.EstablecimientoSchema = void 0; const zod_1 = require("zod"); const CommonValidators_1 = __importDefault(require("../../helpers/validation/CommonValidators")); const db_service_1 = __importDefault(require("../../services/db.service")); const SDParser_1 = __importDefault(require("../../helpers/SDParser")); exports.EstablecimientoSchema = zod_1.z .object({ // relacionado con C005 codigo: CommonValidators_1.default.zeroPadToLength(3).describe(SDParser_1.default.stringify('relacionado con C005')), // D107 direccion: CommonValidators_1.default.address().describe(SDParser_1.default.stringify('D107')), // D108 numeroCasa: CommonValidators_1.default.houseNumber() .default(0) .describe(SDParser_1.default.stringify('D108')), // D109 complementoDireccion1: CommonValidators_1.default.address() .optional() .describe(SDParser_1.default.stringify('D109')), // D110 complementoDireccion2: CommonValidators_1.default.address() .optional() .describe(SDParser_1.default.stringify('D110')), // D111 departamento: CommonValidators_1.default.department().describe(SDParser_1.default.stringify('D111', { e: 'Department' })), // D113 distrito: CommonValidators_1.default.district() .optional() .describe(SDParser_1.default.stringify('D113')), // D115 ciudad: CommonValidators_1.default.city().describe(SDParser_1.default.stringify('D115')), // D117 telefono: CommonValidators_1.default.tel().describe(SDParser_1.default.stringify('D117')), // D118 email: CommonValidators_1.default.email().describe(SDParser_1.default.stringify('D118')), // D119 denominacion: zod_1.z .string() .min(1) .max(30) .optional() .describe(SDParser_1.default.stringify('D119')), }) .transform((data, ctx) => { CommonValidators_1.default.location(ctx, data.departamento, data.distrito, data.ciudad); return { ...data, // D112 departamentoDescripcion: db_service_1.default.departments._findById(data.departamento).description, // D114 distritoDescripcion: db_service_1.default.districts._findByIdIfExist(data.distrito, { ctx, fieldName: 'distrito', })?.description, // D116 ciudadDescripcion: db_service_1.default.cities._findById(data.ciudad, { ctx, fieldName: 'ciudad', })?.description, }; });