consultame-sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +585 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +324 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +298 -0
- package/dist/index.mjs.map +1 -0
- package/dist/shared/dto/responseDigitalSign.dto.d.ts +5 -0
- package/dist/shared/dto/responseDigitalSign.dto.d.ts.map +1 -0
- package/dist/shared/functions/functions.utils.d.ts +10 -0
- package/dist/shared/functions/functions.utils.d.ts.map +1 -0
- package/dist/shared/utils/dictionary.utils.d.ts +9 -0
- package/dist/shared/utils/dictionary.utils.d.ts.map +1 -0
- package/dist/sifen/applications/dtos/cancelDocument.dto.d.ts +6 -0
- package/dist/sifen/applications/dtos/cancelDocument.dto.d.ts.map +1 -0
- package/dist/sifen/applications/dtos/consultBatch.dto.d.ts +5 -0
- package/dist/sifen/applications/dtos/consultBatch.dto.d.ts.map +1 -0
- package/dist/sifen/applications/dtos/consultDocument.dto.d.ts +6 -0
- package/dist/sifen/applications/dtos/consultDocument.dto.d.ts.map +1 -0
- package/dist/sifen/applications/dtos/consultRuc.dto.d.ts +5 -0
- package/dist/sifen/applications/dtos/consultRuc.dto.d.ts.map +1 -0
- package/dist/sifen/applications/dtos/digitalSign.dto.d.ts +5 -0
- package/dist/sifen/applications/dtos/digitalSign.dto.d.ts.map +1 -0
- package/dist/sifen/applications/dtos/generateId.dto.d.ts +4 -0
- package/dist/sifen/applications/dtos/generateId.dto.d.ts.map +1 -0
- package/dist/sifen/applications/dtos/generationQr.dto.d.ts +7 -0
- package/dist/sifen/applications/dtos/generationQr.dto.d.ts.map +1 -0
- package/dist/sifen/applications/dtos/index.d.ts +6 -0
- package/dist/sifen/applications/dtos/index.d.ts.map +1 -0
- package/dist/sifen/applications/dtos/invalidationInvoice.dto.d.ts +11 -0
- package/dist/sifen/applications/dtos/invalidationInvoice.dto.d.ts.map +1 -0
- package/dist/sifen/applications/services/sifen.service.d.ts +16 -0
- package/dist/sifen/applications/services/sifen.service.d.ts.map +1 -0
- package/dist/sifen/domain/repository/sifen.repository.d.ts +14 -0
- package/dist/sifen/domain/repository/sifen.repository.d.ts.map +1 -0
- package/dist/sifen/domain/useCases/consultBatch.useCase.d.ts +8 -0
- package/dist/sifen/domain/useCases/consultBatch.useCase.d.ts.map +1 -0
- package/dist/sifen/domain/useCases/consultDocument.useCase.d.ts +8 -0
- package/dist/sifen/domain/useCases/consultDocument.useCase.d.ts.map +1 -0
- package/dist/sifen/domain/useCases/consultRuc.useCase.d.ts +8 -0
- package/dist/sifen/domain/useCases/consultRuc.useCase.d.ts.map +1 -0
- package/dist/sifen/domain/useCases/generateQr.useCase.d.ts +8 -0
- package/dist/sifen/domain/useCases/generateQr.useCase.d.ts.map +1 -0
- package/dist/sifen/domain/useCases/index.d.ts +6 -0
- package/dist/sifen/domain/useCases/index.d.ts.map +1 -0
- package/dist/sifen/domain/useCases/obtainDigitalSign.useCase.d.ts +8 -0
- package/dist/sifen/domain/useCases/obtainDigitalSign.useCase.d.ts.map +1 -0
- package/dist/sifen/infrastructure/persistence/sifen.persistence.d.ts +15 -0
- package/dist/sifen/infrastructure/persistence/sifen.persistence.d.ts.map +1 -0
- package/package.json +69 -0
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
import { readFileSync } from 'fs';
|
|
2
|
+
import * as forge from 'node-forge';
|
|
3
|
+
import * as xml2js from 'xml2js';
|
|
4
|
+
import sha256 from 'crypto-js/sha256';
|
|
5
|
+
|
|
6
|
+
// src/sifen/domain/useCases/consultBatch.useCase.ts
|
|
7
|
+
var ConsultBatchUseCase = class {
|
|
8
|
+
constructor(sifenRepository) {
|
|
9
|
+
this.sifenRepository = sifenRepository;
|
|
10
|
+
}
|
|
11
|
+
sifenRepository;
|
|
12
|
+
execute(consultBatchDto) {
|
|
13
|
+
const batch = this.sifenRepository.consultBatch(consultBatchDto);
|
|
14
|
+
return batch;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
// src/sifen/domain/useCases/consultRuc.useCase.ts
|
|
19
|
+
var ConsultRucUseCase = class {
|
|
20
|
+
constructor(sifenRepository) {
|
|
21
|
+
this.sifenRepository = sifenRepository;
|
|
22
|
+
}
|
|
23
|
+
sifenRepository;
|
|
24
|
+
execute(consultRucDto) {
|
|
25
|
+
const ruc = this.sifenRepository.consultRuc(consultRucDto);
|
|
26
|
+
return ruc;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
// src/sifen/domain/useCases/consultDocument.useCase.ts
|
|
31
|
+
var ConsultDocumentUseCase = class {
|
|
32
|
+
constructor(sifenRepository) {
|
|
33
|
+
this.sifenRepository = sifenRepository;
|
|
34
|
+
}
|
|
35
|
+
sifenRepository;
|
|
36
|
+
execute(consultDocumentDto) {
|
|
37
|
+
const document = this.sifenRepository.consultDocument(consultDocumentDto);
|
|
38
|
+
return document;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
// src/sifen/domain/useCases/obtainDigitalSign.useCase.ts
|
|
43
|
+
var ObtainDigitalSignUseCase = class {
|
|
44
|
+
constructor(sifenRepository) {
|
|
45
|
+
this.sifenRepository = sifenRepository;
|
|
46
|
+
}
|
|
47
|
+
sifenRepository;
|
|
48
|
+
execute(digitalSignDto) {
|
|
49
|
+
const digitalSign = this.sifenRepository.obtainDigitalSign(digitalSignDto);
|
|
50
|
+
return digitalSign;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
// src/sifen/domain/useCases/generateQr.useCase.ts
|
|
55
|
+
var GenerateQrUseCase = class {
|
|
56
|
+
constructor(sifenRepository) {
|
|
57
|
+
this.sifenRepository = sifenRepository;
|
|
58
|
+
}
|
|
59
|
+
sifenRepository;
|
|
60
|
+
async execute(generationQrDto) {
|
|
61
|
+
const generationQr = await this.sifenRepository.generateQr(generationQrDto);
|
|
62
|
+
return generationQr;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
function normalizeXML(xml) {
|
|
66
|
+
xml = xml.split("\r\n").join("");
|
|
67
|
+
xml = xml.split("\n").join("");
|
|
68
|
+
xml = xml.split(" ").join("");
|
|
69
|
+
xml = xml.split(" ").join("");
|
|
70
|
+
xml = xml.split("> <").join("><");
|
|
71
|
+
xml = xml.split("> <").join("><");
|
|
72
|
+
xml = xml.replace(/\r?\n|\r/g, "");
|
|
73
|
+
return xml;
|
|
74
|
+
}
|
|
75
|
+
var generateConsultRucXml = (consultRucDto) => {
|
|
76
|
+
return `<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
|
|
77
|
+
<env:Header/>
|
|
78
|
+
<env:Body>
|
|
79
|
+
<rEnviConsRUC xmlns="http://ekuatia.set.gov.py/sifen/xsd">
|
|
80
|
+
<dId>${consultRucDto.id}</dId>
|
|
81
|
+
<dRUCCons>${consultRucDto.ruc}</dRUCCons>
|
|
82
|
+
</rEnviConsRUC>
|
|
83
|
+
</env:Body>
|
|
84
|
+
</env:Envelope>
|
|
85
|
+
`;
|
|
86
|
+
};
|
|
87
|
+
var generateConsultDocumentXml = (consultDocumentDto) => {
|
|
88
|
+
return `<?xml version="1.0" encoding="UTF-8"?>
|
|
89
|
+
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
|
|
90
|
+
<env:Header/>
|
|
91
|
+
<env:Body>
|
|
92
|
+
<rEnviConsDeRequest xmlns="http://ekuatia.set.gov.py/sifen/xsd">
|
|
93
|
+
<dId>${consultDocumentDto.id}</dId>
|
|
94
|
+
<dCDC>${consultDocumentDto.cdc}</dCDC>
|
|
95
|
+
</rEnviConsDeRequest>
|
|
96
|
+
</env:Body>
|
|
97
|
+
</env:Envelope>
|
|
98
|
+
`;
|
|
99
|
+
};
|
|
100
|
+
var generateConsultBatchXml = (consultBatchDto) => {
|
|
101
|
+
return `<?xml version="1.0" encoding="UTF-8"?>
|
|
102
|
+
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
|
|
103
|
+
<env:Header/>
|
|
104
|
+
<env:Body>
|
|
105
|
+
<rEnviConsLoteDe xmlns="http://ekuatia.set.gov.py/sifen/xsd">
|
|
106
|
+
<dId>${consultBatchDto.id}</dId>
|
|
107
|
+
<dProtConsLote>${consultBatchDto.codigoLote}</dProtConsLote>
|
|
108
|
+
</rEnviConsLoteDe>
|
|
109
|
+
</env:Body>
|
|
110
|
+
</env:Envelope>
|
|
111
|
+
`;
|
|
112
|
+
};
|
|
113
|
+
var OIDS_KEYS = [forge.pki.oids.pkcs8ShroudedKeyBag, forge.pki.oids.keyBag];
|
|
114
|
+
var obtainBags = (almacen) => almacen.safeContents.flatMap((contenido) => contenido.safeBags);
|
|
115
|
+
var readDigitalSign = (digitalSignDto) => {
|
|
116
|
+
const { camino, contrase\u00F1a } = digitalSignDto;
|
|
117
|
+
const contenidoPfx = readFileSync(camino, { encoding: "binary" });
|
|
118
|
+
const estructuraAsn1 = forge.asn1.fromDer(contenidoPfx);
|
|
119
|
+
const almacen = forge.pkcs12.pkcs12FromAsn1(estructuraAsn1, contrase\u00F1a);
|
|
120
|
+
const bolsas = obtainBags(almacen);
|
|
121
|
+
const bolsaLlave = bolsas.find(
|
|
122
|
+
(bolsa) => OIDS_KEYS.includes(bolsa.type) && bolsa.key
|
|
123
|
+
);
|
|
124
|
+
if (!bolsaLlave?.key) {
|
|
125
|
+
throw new Error("La firma digital no contiene una llave privada");
|
|
126
|
+
}
|
|
127
|
+
const bolsaCertificado = bolsas.find(
|
|
128
|
+
(bolsa) => bolsa.type === forge.pki.oids.certBag && bolsa.cert
|
|
129
|
+
);
|
|
130
|
+
if (!bolsaCertificado?.cert) {
|
|
131
|
+
throw new Error("La firma digital no contiene un certificado");
|
|
132
|
+
}
|
|
133
|
+
return {
|
|
134
|
+
certificado: forge.pki.certificateToPem(bolsaCertificado.cert),
|
|
135
|
+
llavePrivada: forge.pki.privateKeyToPem(bolsaLlave.key)
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
var generateQr = async (generationQrDto) => {
|
|
139
|
+
try {
|
|
140
|
+
const { xml, idCsc, csc, ambiente } = generationQrDto;
|
|
141
|
+
const xmlObject = await xml2js.parseStringPromise(xml);
|
|
142
|
+
if (!(xmlObject && xmlObject["rDE"] && xmlObject["rDE"]["Signature"] && xmlObject["rDE"]["Signature"])) {
|
|
143
|
+
throw new Error("XML debe estar firmado digitalmente para generar el QR");
|
|
144
|
+
}
|
|
145
|
+
xmlObject["rDE"]["gCamFuFD"] = {};
|
|
146
|
+
let linkQr = "";
|
|
147
|
+
if (ambiente === "test" /* TEST */) {
|
|
148
|
+
linkQr = "https://ekuatia.set.gov.py/consultas-test" /* TEST */;
|
|
149
|
+
} else {
|
|
150
|
+
linkQr = "https://ekuatia.set.gov.py/consultas" /* PRODUCCION */;
|
|
151
|
+
}
|
|
152
|
+
linkQr += "/qr?";
|
|
153
|
+
let qr = "";
|
|
154
|
+
const newVersion = xmlObject["rDE"]["dVerFor"][0];
|
|
155
|
+
qr += "nVersion=" + newVersion + "&";
|
|
156
|
+
const id = xmlObject["rDE"]["DE"][0]["$"]["Id"];
|
|
157
|
+
qr += "Id=" + id + "&";
|
|
158
|
+
let dFeEmiDE = xmlObject["rDE"]["DE"][0]["gDatGralOpe"][0]["dFeEmiDE"][0];
|
|
159
|
+
dFeEmiDE = Buffer.from(dFeEmiDE, "utf8").toString("hex");
|
|
160
|
+
qr += "dFeEmiDE=" + dFeEmiDE + "&";
|
|
161
|
+
let dRucRec = "";
|
|
162
|
+
if (xmlObject["rDE"]["DE"][0]["gDatGralOpe"][0]["gDatRec"][0]["iNatRec"][0] == 1) {
|
|
163
|
+
dRucRec = xmlObject["rDE"]["DE"][0]["gDatGralOpe"][0]["gDatRec"][0]["dRucRec"][0];
|
|
164
|
+
qr += "dRucRec=" + dRucRec + "&";
|
|
165
|
+
} else {
|
|
166
|
+
dRucRec = xmlObject["rDE"]["DE"][0]["gDatGralOpe"][0]["gDatRec"][0]["dNumIDRec"][0];
|
|
167
|
+
qr += "dNumIDRec=" + dRucRec + "&";
|
|
168
|
+
}
|
|
169
|
+
let dTotGralOpe = 0;
|
|
170
|
+
if (xmlObject["rDE"]["DE"][0]["gTotSub"] && xmlObject["rDE"]["DE"][0]["gTotSub"][0] && xmlObject["rDE"]["DE"][0]["gTotSub"][0]["dTotGralOpe"] && xmlObject["rDE"]["DE"][0]["gTotSub"][0]["dTotGralOpe"][0]) {
|
|
171
|
+
dTotGralOpe = xmlObject["rDE"]["DE"][0]["gTotSub"][0]["dTotGralOpe"][0];
|
|
172
|
+
}
|
|
173
|
+
qr += "dTotGralOpe=" + dTotGralOpe + "&";
|
|
174
|
+
let dTotIVA = 0;
|
|
175
|
+
if (xmlObject["rDE"]["DE"][0]["gTotSub"] && xmlObject["rDE"]["DE"][0]["gTotSub"][0] && xmlObject["rDE"]["DE"][0]["gTotSub"][0]["dTotIVA"] && xmlObject["rDE"]["DE"][0]["gTotSub"][0]["dTotIVA"][0]) {
|
|
176
|
+
dTotIVA = xmlObject["rDE"]["DE"][0]["gTotSub"][0]["dTotIVA"][0];
|
|
177
|
+
}
|
|
178
|
+
qr += "dTotIVA=" + dTotIVA + "&";
|
|
179
|
+
let cItems = 0;
|
|
180
|
+
if (xmlObject["rDE"]["DE"][0]["gDtipDE"][0] && xmlObject["rDE"]["DE"][0]["gDtipDE"][0]["gCamItem"] && xmlObject["rDE"]["DE"][0]["gDtipDE"][0]["gCamItem"].length > 0) {
|
|
181
|
+
cItems = xmlObject["rDE"]["DE"][0]["gDtipDE"][0]["gCamItem"].length;
|
|
182
|
+
}
|
|
183
|
+
qr += "cItems=" + cItems + "&";
|
|
184
|
+
let digestValue = xmlObject["rDE"]["Signature"][0]["SignedInfo"][0]["Reference"][0]["DigestValue"][0];
|
|
185
|
+
digestValue = Buffer.from(digestValue, "utf8").toString("hex");
|
|
186
|
+
qr += "DigestValue=" + digestValue + "&";
|
|
187
|
+
qr += "IdCSC=" + idCsc;
|
|
188
|
+
const valueForHash = qr;
|
|
189
|
+
const valueHashed = sha256(valueForHash + csc);
|
|
190
|
+
qr += "&cHashQR=" + valueHashed;
|
|
191
|
+
xmlObject["rDE"]["gCamFuFD"]["dCarQR"] = {
|
|
192
|
+
_: linkQr + qr
|
|
193
|
+
};
|
|
194
|
+
const builder = new xml2js.Builder();
|
|
195
|
+
const xmlWithQR = builder.buildObject(xmlObject);
|
|
196
|
+
return xmlWithQR;
|
|
197
|
+
} catch (error) {
|
|
198
|
+
throw error;
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
// src/sifen/infrastructure/persistence/sifen.persistence.ts
|
|
203
|
+
var SifenPersistence = class {
|
|
204
|
+
consultRuc(consultRucDto) {
|
|
205
|
+
const rucXml = generateConsultRucXml(consultRucDto);
|
|
206
|
+
const xmlFormated = normalizeXML(rucXml);
|
|
207
|
+
return xmlFormated;
|
|
208
|
+
}
|
|
209
|
+
consultBatch(consultBatchDto) {
|
|
210
|
+
const batchXml = generateConsultBatchXml(consultBatchDto);
|
|
211
|
+
const xmlFormated = normalizeXML(batchXml);
|
|
212
|
+
return xmlFormated;
|
|
213
|
+
}
|
|
214
|
+
consultDocument(ConsultDocumentDto) {
|
|
215
|
+
const documentXml = generateConsultDocumentXml(ConsultDocumentDto);
|
|
216
|
+
const xmlFormated = normalizeXML(documentXml);
|
|
217
|
+
return xmlFormated;
|
|
218
|
+
}
|
|
219
|
+
cancelationInvoice(cancelInvoiceDto) {
|
|
220
|
+
throw new Error("Method not implemented.");
|
|
221
|
+
}
|
|
222
|
+
invalidationInvoice(invalidationInvoiceDto) {
|
|
223
|
+
try {
|
|
224
|
+
throw new Error("Method not implemented.");
|
|
225
|
+
} catch (error) {
|
|
226
|
+
console.log(error);
|
|
227
|
+
throw error;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
obtainDigitalSign(digitalSignDto) {
|
|
231
|
+
try {
|
|
232
|
+
const digitalSign = readDigitalSign(digitalSignDto);
|
|
233
|
+
return digitalSign;
|
|
234
|
+
} catch (error) {
|
|
235
|
+
console.log(error);
|
|
236
|
+
throw error;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
async generateQr(generationQrDto) {
|
|
240
|
+
try {
|
|
241
|
+
const digitalSign = await generateQr(generationQrDto);
|
|
242
|
+
return digitalSign;
|
|
243
|
+
} catch (error) {
|
|
244
|
+
console.log(error);
|
|
245
|
+
throw error;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
// src/sifen/applications/services/sifen.service.ts
|
|
251
|
+
var SifenService = class {
|
|
252
|
+
consultRucUseCase;
|
|
253
|
+
consultBatchUseCase;
|
|
254
|
+
consultDocumentUseCase;
|
|
255
|
+
obtainDigitalSignUseCase;
|
|
256
|
+
generateQrUseCase;
|
|
257
|
+
sifenRepository;
|
|
258
|
+
constructor() {
|
|
259
|
+
this.sifenRepository = new SifenPersistence();
|
|
260
|
+
this.consultRucUseCase = new ConsultRucUseCase(this.sifenRepository);
|
|
261
|
+
this.consultBatchUseCase = new ConsultBatchUseCase(this.sifenRepository);
|
|
262
|
+
this.consultDocumentUseCase = new ConsultDocumentUseCase(
|
|
263
|
+
this.sifenRepository
|
|
264
|
+
);
|
|
265
|
+
this.obtainDigitalSignUseCase = new ObtainDigitalSignUseCase(
|
|
266
|
+
this.sifenRepository
|
|
267
|
+
);
|
|
268
|
+
this.generateQrUseCase = new GenerateQrUseCase(this.sifenRepository);
|
|
269
|
+
}
|
|
270
|
+
consultRuc(consultRucDto) {
|
|
271
|
+
const ruc = this.consultRucUseCase.execute(consultRucDto);
|
|
272
|
+
return ruc;
|
|
273
|
+
}
|
|
274
|
+
consultBatch(consultBatchDto) {
|
|
275
|
+
const batch = this.consultBatchUseCase.execute(consultBatchDto);
|
|
276
|
+
return batch;
|
|
277
|
+
}
|
|
278
|
+
consultDocument(consultDocumentDto) {
|
|
279
|
+
const invoice = this.consultDocumentUseCase.execute(consultDocumentDto);
|
|
280
|
+
return invoice;
|
|
281
|
+
}
|
|
282
|
+
obtainDigitalSign(digitalSignDto) {
|
|
283
|
+
const digitalSign = this.obtainDigitalSignUseCase.execute(digitalSignDto);
|
|
284
|
+
return digitalSign;
|
|
285
|
+
}
|
|
286
|
+
async generateQr(generationQrDto) {
|
|
287
|
+
try {
|
|
288
|
+
const generationQr = await this.generateQrUseCase.execute(generationQrDto);
|
|
289
|
+
return generationQr;
|
|
290
|
+
} catch (error) {
|
|
291
|
+
throw error;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
};
|
|
295
|
+
|
|
296
|
+
export { SifenService };
|
|
297
|
+
//# sourceMappingURL=index.mjs.map
|
|
298
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/sifen/domain/useCases/consultBatch.useCase.ts","../src/sifen/domain/useCases/consultRuc.useCase.ts","../src/sifen/domain/useCases/consultDocument.useCase.ts","../src/sifen/domain/useCases/obtainDigitalSign.useCase.ts","../src/sifen/domain/useCases/generateQr.useCase.ts","../src/shared/functions/functions.utils.ts","../src/sifen/infrastructure/persistence/sifen.persistence.ts","../src/sifen/applications/services/sifen.service.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["import { ConsultBatchDto } from \"../../applications/dtos\";\r\nimport { SifenRepository } from \"../repository/sifen.repository\";\r\n\r\nexport class ConsultBatchUseCase {\r\n constructor(private readonly sifenRepository: SifenRepository) {}\r\n\r\n execute(consultBatchDto: ConsultBatchDto) {\r\n const batch = this.sifenRepository.consultBatch(consultBatchDto);\r\n\r\n return batch;\r\n }\r\n}\r\n","import { ConsultRucDto } from \"../../applications/dtos\";\r\nimport { SifenRepository } from \"../repository/sifen.repository\";\r\n\r\nexport class ConsultRucUseCase {\r\n constructor(private readonly sifenRepository: SifenRepository) {}\r\n\r\n execute(consultRucDto: ConsultRucDto) {\r\n const ruc = this.sifenRepository.consultRuc(consultRucDto);\r\n\r\n return ruc;\r\n }\r\n}\r\n","import { ConsultDocumentDto } from \"../../applications/dtos\";\r\nimport { SifenRepository } from \"../repository/sifen.repository\";\r\n\r\nexport class ConsultDocumentUseCase {\r\n constructor(private readonly sifenRepository: SifenRepository) {}\r\n\r\n execute(consultDocumentDto: ConsultDocumentDto) {\r\n const document = this.sifenRepository.consultDocument(consultDocumentDto);\r\n\r\n return document;\r\n }\r\n}\r\n","import { DigitalSignDto } from \"../../applications/dtos\";\r\nimport { SifenRepository } from \"../repository/sifen.repository\";\r\n\r\nexport class ObtainDigitalSignUseCase {\r\n constructor(private readonly sifenRepository: SifenRepository) {}\r\n\r\n execute(digitalSignDto: DigitalSignDto) {\r\n const digitalSign = this.sifenRepository.obtainDigitalSign(digitalSignDto);\r\n\r\n return digitalSign;\r\n }\r\n}\r\n","import { GenerationQrDto } from \"../../applications/dtos\";\r\nimport { SifenRepository } from \"../repository/sifen.repository\";\r\n\r\nexport class GenerateQrUseCase {\r\n constructor(private readonly sifenRepository: SifenRepository) {}\r\n\r\n async execute(generationQrDto: GenerationQrDto): Promise<string> {\r\n const generationQr = await this.sifenRepository.generateQr(generationQrDto);\r\n\r\n return generationQr;\r\n }\r\n}\r\n","import {\r\n ConsultBatchDto,\r\n ConsultDocumentDto,\r\n ConsultRucDto,\r\n DigitalSignDto,\r\n GenerationQrDto,\r\n} from \"../../sifen/applications/dtos\";\r\nimport { readFileSync } from \"fs\";\r\nimport * as forge from \"node-forge\";\r\nimport { ResponseDigitalSign } from \"../dto/responseDigitalSign.dto\";\r\nimport * as xml2js from \"xml2js\";\r\nimport { LINK_SIFEN, SIFEN_ENVIRONMENT } from \"../utils/dictionary.utils\";\r\nimport sha256 from \"crypto-js/sha256\";\r\n\r\nexport const calculateDigitVerification = (\r\n value: string,\r\n baseMax: number = 11,\r\n): string => {\r\n let v_total = 0;\r\n let v_resto = 0;\r\n let k = 0;\r\n let v_numero_aux = 0;\r\n let v_numero_al = \"\";\r\n let v_caracter = \"\";\r\n let v_digit = 0;\r\n\r\n // Cambia la ultima letra por ascii en caso que la cedula termine en letra\r\n for (let i = 0; i < value.length; i++) {\r\n v_caracter = value.toUpperCase().substring(i, i + 1);\r\n if (!(v_caracter.charCodeAt(0) >= 48 && v_caracter.charCodeAt(0) <= 57)) {\r\n v_numero_al = v_numero_al + v_caracter.charCodeAt(0);\r\n } else {\r\n v_numero_al = v_numero_al + v_caracter;\r\n }\r\n }\r\n\r\n // Calcula el DV\r\n k = 2;\r\n v_total = 0;\r\n // FOR i IN REVERSE 1 .. LENGTH(v_numero_al) LOOP\r\n for (let i = v_numero_al.length; i > 0; i--) {\r\n if (k > baseMax) {\r\n k = 2;\r\n }\r\n v_numero_aux = parseInt(v_numero_al.substring(i - 1, i));\r\n v_total = v_total + v_numero_aux * k;\r\n k = k + 1;\r\n }\r\n v_resto = v_total % 11;\r\n if (v_resto > 1) {\r\n v_digit = 11 - v_resto;\r\n } else {\r\n v_digit = 0;\r\n }\r\n return v_digit.toString();\r\n};\r\n\r\nexport function normalizeXML(xml: string): string {\r\n xml = xml.split(\"\\r\\n\").join(\"\");\r\n xml = xml.split(\"\\n\").join(\"\");\r\n xml = xml.split(\"\\t\").join(\"\");\r\n xml = xml.split(\" \").join(\"\");\r\n xml = xml.split(\"> <\").join(\"><\");\r\n xml = xml.split(\"> <\").join(\"><\");\r\n xml = xml.replace(/\\r?\\n|\\r/g, \"\");\r\n return xml;\r\n}\r\n\r\nexport const generateConsultRucXml = (consultRucDto: ConsultRucDto): string => {\r\n return `<env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\">\\n\\\r\n <env:Header/>\\n\\\r\n <env:Body>\\n\\\r\n <rEnviConsRUC xmlns=\"http://ekuatia.set.gov.py/sifen/xsd\">\\n\\\r\n <dId>${consultRucDto.id}</dId>\\n\\\r\n <dRUCCons>${consultRucDto.ruc}</dRUCCons>\\n\\\r\n </rEnviConsRUC>\\n\\\r\n </env:Body>\\n\\\r\n </env:Envelope>\\n`;\r\n};\r\n\r\nexport const generateConsultDocumentXml = (\r\n consultDocumentDto: ConsultDocumentDto,\r\n): string => {\r\n return `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n\\\r\n <env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\">\\n\\\r\n <env:Header/>\\n\\\r\n <env:Body>\\n\\\r\n <rEnviConsDeRequest xmlns=\"http://ekuatia.set.gov.py/sifen/xsd\">\\n\\\r\n <dId>${consultDocumentDto.id}</dId>\\n\\\r\n <dCDC>${consultDocumentDto.cdc}</dCDC>\\n\\\r\n </rEnviConsDeRequest>\\n\\\r\n </env:Body>\\n\\\r\n </env:Envelope>\\n`;\r\n};\r\n\r\nexport const generateConsultBatchXml = (\r\n consultBatchDto: ConsultBatchDto,\r\n): string => {\r\n return `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n\\\r\n <env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\">\\n\\\r\n <env:Header/>\\n\\\r\n <env:Body>\\n\\\r\n <rEnviConsLoteDe xmlns=\"http://ekuatia.set.gov.py/sifen/xsd\">\\n\\\r\n <dId>${consultBatchDto.id}</dId>\\n\\\r\n <dProtConsLote>${consultBatchDto.codigoLote}</dProtConsLote>\\n\\\r\n </rEnviConsLoteDe>\\n\\\r\n </env:Body>\\n\\\r\n </env:Envelope>\\n`;\r\n};\r\n\r\nconst OIDS_KEYS = [forge.pki.oids.pkcs8ShroudedKeyBag, forge.pki.oids.keyBag];\r\n\r\nconst obtainBags = (almacen: forge.pkcs12.Pkcs12Pfx): forge.pkcs12.Bag[] =>\r\n almacen.safeContents.flatMap((contenido) => contenido.safeBags);\r\n\r\nexport const readDigitalSign = (\r\n digitalSignDto: DigitalSignDto,\r\n): ResponseDigitalSign => {\r\n const { camino, contraseña } = digitalSignDto;\r\n\r\n const contenidoPfx = readFileSync(camino, { encoding: \"binary\" });\r\n const estructuraAsn1 = forge.asn1.fromDer(contenidoPfx);\r\n const almacen = forge.pkcs12.pkcs12FromAsn1(estructuraAsn1, contraseña);\r\n\r\n const bolsas = obtainBags(almacen);\r\n\r\n const bolsaLlave = bolsas.find(\r\n (bolsa) => OIDS_KEYS.includes(bolsa.type) && bolsa.key,\r\n );\r\n if (!bolsaLlave?.key) {\r\n throw new Error(\"La firma digital no contiene una llave privada\");\r\n }\r\n\r\n const bolsaCertificado = bolsas.find(\r\n (bolsa) => bolsa.type === forge.pki.oids.certBag && bolsa.cert,\r\n );\r\n if (!bolsaCertificado?.cert) {\r\n throw new Error(\"La firma digital no contiene un certificado\");\r\n }\r\n\r\n return {\r\n certificado: forge.pki.certificateToPem(bolsaCertificado.cert),\r\n llavePrivada: forge.pki.privateKeyToPem(bolsaLlave.key),\r\n };\r\n};\r\n\r\nexport const generateQr = async (\r\n generationQrDto: GenerationQrDto,\r\n): Promise<string> => {\r\n try {\r\n const { xml, idCsc, csc, ambiente } = generationQrDto;\r\n\r\n const xmlObject = await xml2js.parseStringPromise(xml);\r\n\r\n if (\r\n !(\r\n xmlObject &&\r\n xmlObject[\"rDE\"] &&\r\n xmlObject[\"rDE\"][\"Signature\"] &&\r\n xmlObject[\"rDE\"][\"Signature\"]\r\n )\r\n ) {\r\n throw new Error(\"XML debe estar firmado digitalmente para generar el QR\");\r\n }\r\n\r\n xmlObject[\"rDE\"][\"gCamFuFD\"] = {};\r\n\r\n let linkQr: string = \"\";\r\n\r\n if (ambiente === SIFEN_ENVIRONMENT.TEST) {\r\n linkQr = LINK_SIFEN.TEST;\r\n } else {\r\n linkQr = LINK_SIFEN.PRODUCCION;\r\n }\r\n\r\n linkQr += \"/qr?\";\r\n\r\n let qr: string = \"\";\r\n\r\n const newVersion = xmlObject[\"rDE\"][\"dVerFor\"][0];\r\n\r\n qr += \"nVersion=\" + newVersion + \"&\";\r\n\r\n const id = xmlObject[\"rDE\"][\"DE\"][0][\"$\"][\"Id\"];\r\n qr += \"Id=\" + id + \"&\";\r\n\r\n let dFeEmiDE = xmlObject[\"rDE\"][\"DE\"][0][\"gDatGralOpe\"][0][\"dFeEmiDE\"][0];\r\n dFeEmiDE = Buffer.from(dFeEmiDE, \"utf8\").toString(\"hex\");\r\n qr += \"dFeEmiDE=\" + dFeEmiDE + \"&\";\r\n\r\n let dRucRec: string = \"\";\r\n\r\n if (\r\n xmlObject[\"rDE\"][\"DE\"][0][\"gDatGralOpe\"][0][\"gDatRec\"][0][\"iNatRec\"][0] ==\r\n 1\r\n ) {\r\n dRucRec =\r\n xmlObject[\"rDE\"][\"DE\"][0][\"gDatGralOpe\"][0][\"gDatRec\"][0][\"dRucRec\"][0];\r\n qr += \"dRucRec=\" + dRucRec + \"&\";\r\n } else {\r\n dRucRec =\r\n xmlObject[\"rDE\"][\"DE\"][0][\"gDatGralOpe\"][0][\"gDatRec\"][0][\r\n \"dNumIDRec\"\r\n ][0];\r\n qr += \"dNumIDRec=\" + dRucRec + \"&\";\r\n }\r\n\r\n let dTotGralOpe: number = 0;\r\n\r\n if (\r\n xmlObject[\"rDE\"][\"DE\"][0][\"gTotSub\"] &&\r\n xmlObject[\"rDE\"][\"DE\"][0][\"gTotSub\"][0] &&\r\n xmlObject[\"rDE\"][\"DE\"][0][\"gTotSub\"][0][\"dTotGralOpe\"] &&\r\n xmlObject[\"rDE\"][\"DE\"][0][\"gTotSub\"][0][\"dTotGralOpe\"][0]\r\n ) {\r\n dTotGralOpe = xmlObject[\"rDE\"][\"DE\"][0][\"gTotSub\"][0][\"dTotGralOpe\"][0];\r\n }\r\n qr += \"dTotGralOpe=\" + dTotGralOpe + \"&\";\r\n\r\n let dTotIVA: number = 0;\r\n\r\n if (\r\n xmlObject[\"rDE\"][\"DE\"][0][\"gTotSub\"] &&\r\n xmlObject[\"rDE\"][\"DE\"][0][\"gTotSub\"][0] &&\r\n xmlObject[\"rDE\"][\"DE\"][0][\"gTotSub\"][0][\"dTotIVA\"] &&\r\n xmlObject[\"rDE\"][\"DE\"][0][\"gTotSub\"][0][\"dTotIVA\"][0]\r\n ) {\r\n dTotIVA = xmlObject[\"rDE\"][\"DE\"][0][\"gTotSub\"][0][\"dTotIVA\"][0];\r\n }\r\n qr += \"dTotIVA=\" + dTotIVA + \"&\";\r\n\r\n let cItems: number = 0;\r\n\r\n if (\r\n xmlObject[\"rDE\"][\"DE\"][0][\"gDtipDE\"][0] &&\r\n xmlObject[\"rDE\"][\"DE\"][0][\"gDtipDE\"][0][\"gCamItem\"] &&\r\n xmlObject[\"rDE\"][\"DE\"][0][\"gDtipDE\"][0][\"gCamItem\"].length > 0\r\n ) {\r\n cItems = xmlObject[\"rDE\"][\"DE\"][0][\"gDtipDE\"][0][\"gCamItem\"].length;\r\n }\r\n\r\n qr += \"cItems=\" + cItems + \"&\";\r\n\r\n let digestValue =\r\n xmlObject[\"rDE\"][\"Signature\"][0][\"SignedInfo\"][0][\"Reference\"][0][\r\n \"DigestValue\"\r\n ][0];\r\n\r\n digestValue = Buffer.from(digestValue, \"utf8\").toString(\"hex\");\r\n qr += \"DigestValue=\" + digestValue + \"&\";\r\n\r\n qr += \"IdCSC=\" + idCsc;\r\n\r\n const valueForHash = qr;\r\n const valueHashed = sha256(valueForHash + csc);\r\n\r\n qr += \"&cHashQR=\" + valueHashed;\r\n\r\n xmlObject[\"rDE\"][\"gCamFuFD\"][\"dCarQR\"] = {\r\n _: linkQr + qr,\r\n };\r\n const builder = new xml2js.Builder();\r\n\r\n const xmlWithQR = builder.buildObject(xmlObject);\r\n\r\n return xmlWithQR;\r\n } catch (error) {\r\n throw error;\r\n }\r\n};\r\n","import { ResponseDigitalSign } from \"../../../shared/dto/responseDigitalSign.dto\";\r\nimport {\r\n generateConsultBatchXml,\r\n generateConsultDocumentXml,\r\n generateConsultRucXml,\r\n readDigitalSign,\r\n normalizeXML,\r\n generateQr,\r\n} from \"../../../shared/functions/functions.utils\";\r\nimport {\r\n ConsultRucDto,\r\n ConsultBatchDto,\r\n ConsultDocumentDto,\r\n DigitalSignDto,\r\n GenerationQrDto,\r\n} from \"../../applications/dtos\";\r\nimport { CancelInvoiceDto } from \"../../applications/dtos/cancelDocument.dto\";\r\nimport { InvalidationInvoiceDto } from \"../../applications/dtos/invalidationInvoice.dto\";\r\nimport { SifenRepository } from \"../../domain/repository/sifen.repository\";\r\n\r\nexport class SifenPersistence implements SifenRepository {\r\n consultRuc(consultRucDto: ConsultRucDto): string {\r\n const rucXml = generateConsultRucXml(consultRucDto);\r\n\r\n const xmlFormated = normalizeXML(rucXml);\r\n\r\n return xmlFormated;\r\n }\r\n\r\n consultBatch(consultBatchDto: ConsultBatchDto): string {\r\n const batchXml = generateConsultBatchXml(consultBatchDto);\r\n\r\n const xmlFormated = normalizeXML(batchXml);\r\n\r\n return xmlFormated;\r\n }\r\n\r\n consultDocument(ConsultDocumentDto: ConsultDocumentDto): string {\r\n const documentXml = generateConsultDocumentXml(ConsultDocumentDto);\r\n\r\n const xmlFormated = normalizeXML(documentXml);\r\n\r\n return xmlFormated;\r\n }\r\n\r\n cancelationInvoice(cancelInvoiceDto: CancelInvoiceDto): string {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n invalidationInvoice(invalidationInvoiceDto: InvalidationInvoiceDto): string {\r\n try {\r\n throw new Error(\"Method not implemented.\");\r\n } catch (error) {\r\n console.log(error);\r\n throw error;\r\n }\r\n }\r\n\r\n obtainDigitalSign(digitalSignDto: DigitalSignDto): ResponseDigitalSign {\r\n try {\r\n const digitalSign = readDigitalSign(digitalSignDto);\r\n\r\n return digitalSign;\r\n } catch (error) {\r\n console.log(error);\r\n throw error;\r\n }\r\n }\r\n\r\n async generateQr(generationQrDto: GenerationQrDto): Promise<string> {\r\n try {\r\n const digitalSign = await generateQr(generationQrDto);\r\n\r\n return digitalSign;\r\n } catch (error) {\r\n console.log(error);\r\n throw error;\r\n }\r\n }\r\n}\r\n","import { SifenRepository } from \"../../domain/repository/sifen.repository\";\r\nimport {\r\n ConsultBatchUseCase,\r\n ConsultDocumentUseCase,\r\n ConsultRucUseCase,\r\n GenerateQrUseCase,\r\n ObtainDigitalSignUseCase,\r\n} from \"../../domain/useCases\";\r\nimport { SifenPersistence } from \"../../infrastructure/persistence/sifen.persistence\";\r\nimport {\r\n ConsultBatchDto,\r\n ConsultDocumentDto,\r\n ConsultRucDto,\r\n DigitalSignDto,\r\n GenerationQrDto,\r\n} from \"../dtos\";\r\n\r\nexport class SifenService {\r\n private readonly consultRucUseCase: ConsultRucUseCase;\r\n private readonly consultBatchUseCase: ConsultBatchUseCase;\r\n private readonly consultDocumentUseCase: ConsultDocumentUseCase;\r\n private readonly obtainDigitalSignUseCase: ObtainDigitalSignUseCase;\r\n private readonly generateQrUseCase: GenerateQrUseCase;\r\n private readonly sifenRepository: SifenRepository;\r\n\r\n constructor() {\r\n this.sifenRepository = new SifenPersistence();\r\n this.consultRucUseCase = new ConsultRucUseCase(this.sifenRepository);\r\n this.consultBatchUseCase = new ConsultBatchUseCase(this.sifenRepository);\r\n this.consultDocumentUseCase = new ConsultDocumentUseCase(\r\n this.sifenRepository,\r\n );\r\n this.obtainDigitalSignUseCase = new ObtainDigitalSignUseCase(\r\n this.sifenRepository,\r\n );\r\n this.generateQrUseCase = new GenerateQrUseCase(this.sifenRepository);\r\n }\r\n\r\n consultRuc(consultRucDto: ConsultRucDto) {\r\n const ruc = this.consultRucUseCase.execute(consultRucDto);\r\n return ruc;\r\n }\r\n\r\n consultBatch(consultBatchDto: ConsultBatchDto) {\r\n const batch = this.consultBatchUseCase.execute(consultBatchDto);\r\n return batch;\r\n }\r\n\r\n consultDocument(consultDocumentDto: ConsultDocumentDto) {\r\n const invoice = this.consultDocumentUseCase.execute(consultDocumentDto);\r\n return invoice;\r\n }\r\n\r\n obtainDigitalSign(digitalSignDto: DigitalSignDto) {\r\n const digitalSign = this.obtainDigitalSignUseCase.execute(digitalSignDto);\r\n return digitalSign;\r\n }\r\n\r\n async generateQr(generationQrDto: GenerationQrDto): Promise<string> {\r\n try {\r\n const generationQr =\r\n await this.generateQrUseCase.execute(generationQrDto);\r\n\r\n return generationQr;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responseDigitalSign.dto.d.ts","sourceRoot":"","sources":["../../../src/shared/dto/responseDigitalSign.dto.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ConsultBatchDto, ConsultDocumentDto, ConsultRucDto, DigitalSignDto, GenerationQrDto } from "../../sifen/applications/dtos";
|
|
2
|
+
import { ResponseDigitalSign } from "../dto/responseDigitalSign.dto";
|
|
3
|
+
export declare const calculateDigitVerification: (value: string, baseMax?: number) => string;
|
|
4
|
+
export declare function normalizeXML(xml: string): string;
|
|
5
|
+
export declare const generateConsultRucXml: (consultRucDto: ConsultRucDto) => string;
|
|
6
|
+
export declare const generateConsultDocumentXml: (consultDocumentDto: ConsultDocumentDto) => string;
|
|
7
|
+
export declare const generateConsultBatchXml: (consultBatchDto: ConsultBatchDto) => string;
|
|
8
|
+
export declare const readDigitalSign: (digitalSignDto: DigitalSignDto) => ResponseDigitalSign;
|
|
9
|
+
export declare const generateQr: (generationQrDto: GenerationQrDto) => Promise<string>;
|
|
10
|
+
//# sourceMappingURL=functions.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.utils.d.ts","sourceRoot":"","sources":["../../../src/shared/functions/functions.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAKrE,eAAO,MAAM,0BAA0B,UAC9B,MAAM,YACJ,MAAM,KACd,MAsCF,CAAC;AAEF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAShD;AAED,eAAO,MAAM,qBAAqB,kBAAmB,aAAa,KAAG,MAUpE,CAAC;AAEF,eAAO,MAAM,0BAA0B,uBACjB,kBAAkB,KACrC,MAWF,CAAC;AAEF,eAAO,MAAM,uBAAuB,oBACjB,eAAe,KAC/B,MAWF,CAAC;AAOF,eAAO,MAAM,eAAe,mBACV,cAAc,KAC7B,mBA2BF,CAAC;AAEF,eAAO,MAAM,UAAU,oBACJ,eAAe,KAC/B,OAAO,CAAC,MAAM,CAyHhB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare enum SIFEN_ENVIRONMENT {
|
|
2
|
+
TEST = "test",
|
|
3
|
+
PRODUCCION = "produccion"
|
|
4
|
+
}
|
|
5
|
+
export declare enum LINK_SIFEN {
|
|
6
|
+
TEST = "https://ekuatia.set.gov.py/consultas-test",
|
|
7
|
+
PRODUCCION = "https://ekuatia.set.gov.py/consultas"
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=dictionary.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dictionary.utils.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/dictionary.utils.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB;IAC3B,IAAI,SAAS;IACb,UAAU,eAAe;CAC1B;AAED,oBAAY,UAAU;IACpB,IAAI,8CAA8C;IAClD,UAAU,yCAAyC;CACpD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancelDocument.dto.d.ts","sourceRoot":"","sources":["../../../../src/sifen/applications/dtos/cancelDocument.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consultBatch.dto.d.ts","sourceRoot":"","sources":["../../../../src/sifen/applications/dtos/consultBatch.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consultDocument.dto.d.ts","sourceRoot":"","sources":["../../../../src/sifen/applications/dtos/consultDocument.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consultRuc.dto.d.ts","sourceRoot":"","sources":["../../../../src/sifen/applications/dtos/consultRuc.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,GAAG,EAAE,MAAM,CAAC;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digitalSign.dto.d.ts","sourceRoot":"","sources":["../../../../src/sifen/applications/dtos/digitalSign.dto.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateId.dto.d.ts","sourceRoot":"","sources":["../../../../src/sifen/applications/dtos/generateId.dto.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;CACZ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generationQr.dto.d.ts","sourceRoot":"","sources":["../../../../src/sifen/applications/dtos/generationQr.dto.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { ConsultDocumentDto } from "./consultDocument.dto";
|
|
2
|
+
export { ConsultRucDto } from "./consultRuc.dto";
|
|
3
|
+
export { ConsultBatchDto } from "./consultBatch.dto";
|
|
4
|
+
export { DigitalSignDto } from "./digitalSign.dto";
|
|
5
|
+
export { GenerationQrDto } from "./generationQr.dto";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/sifen/applications/dtos/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { GenerateIdDto } from "./generateId.dto";
|
|
2
|
+
export interface InvalidationInvoiceDto extends GenerateIdDto {
|
|
3
|
+
timbrado: string;
|
|
4
|
+
establecimiento: number;
|
|
5
|
+
puntoExpedicion: number;
|
|
6
|
+
desde: number;
|
|
7
|
+
hasta: number;
|
|
8
|
+
tipoDocumento: number;
|
|
9
|
+
motivo: string;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=invalidationInvoice.dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invalidationInvoice.dto.d.ts","sourceRoot":"","sources":["../../../../src/sifen/applications/dtos/invalidationInvoice.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ConsultBatchDto, ConsultDocumentDto, ConsultRucDto, DigitalSignDto, GenerationQrDto } from "../dtos";
|
|
2
|
+
export declare class SifenService {
|
|
3
|
+
private readonly consultRucUseCase;
|
|
4
|
+
private readonly consultBatchUseCase;
|
|
5
|
+
private readonly consultDocumentUseCase;
|
|
6
|
+
private readonly obtainDigitalSignUseCase;
|
|
7
|
+
private readonly generateQrUseCase;
|
|
8
|
+
private readonly sifenRepository;
|
|
9
|
+
constructor();
|
|
10
|
+
consultRuc(consultRucDto: ConsultRucDto): string;
|
|
11
|
+
consultBatch(consultBatchDto: ConsultBatchDto): string;
|
|
12
|
+
consultDocument(consultDocumentDto: ConsultDocumentDto): string;
|
|
13
|
+
obtainDigitalSign(digitalSignDto: DigitalSignDto): import("../../../shared/dto/responseDigitalSign.dto").ResponseDigitalSign;
|
|
14
|
+
generateQr(generationQrDto: GenerationQrDto): Promise<string>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=sifen.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sifen.service.d.ts","sourceRoot":"","sources":["../../../../src/sifen/applications/services/sifen.service.ts"],"names":[],"mappings":"AASA,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAChE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA2B;IACpE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAElD,cAWC;IAED,UAAU,CAAC,aAAa,EAAE,aAAa,UAGtC;IAED,YAAY,CAAC,eAAe,EAAE,eAAe,UAG5C;IAED,eAAe,CAAC,kBAAkB,EAAE,kBAAkB,UAGrD;IAED,iBAAiB,CAAC,cAAc,EAAE,cAAc,6EAG/C;IAEK,UAAU,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CASlE;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ResponseDigitalSign } from "../../../shared/dto/responseDigitalSign.dto";
|
|
2
|
+
import { ConsultBatchDto, ConsultDocumentDto, ConsultRucDto, DigitalSignDto, GenerationQrDto } from "../../applications/dtos";
|
|
3
|
+
import { CancelInvoiceDto } from "../../applications/dtos/cancelDocument.dto";
|
|
4
|
+
import { InvalidationInvoiceDto } from "../../applications/dtos/invalidationInvoice.dto";
|
|
5
|
+
export interface SifenRepository {
|
|
6
|
+
consultRuc(consultRucDto: ConsultRucDto): string;
|
|
7
|
+
consultBatch(consultBatchDto: ConsultBatchDto): string;
|
|
8
|
+
consultDocument(ConsultDocumentDto: ConsultDocumentDto): string;
|
|
9
|
+
cancelationInvoice(cancelInvoiceDto: CancelInvoiceDto): string;
|
|
10
|
+
invalidationInvoice(invalidationInvoiceDto: InvalidationInvoiceDto): string;
|
|
11
|
+
obtainDigitalSign(digitalSignDto: DigitalSignDto): ResponseDigitalSign;
|
|
12
|
+
generateQr(generationQrDto: GenerationQrDto): Promise<string>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=sifen.repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sifen.repository.d.ts","sourceRoot":"","sources":["../../../../src/sifen/domain/repository/sifen.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,eAAe,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAEzF,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAAC;IACjD,YAAY,CAAC,eAAe,EAAE,eAAe,GAAG,MAAM,CAAC;IACvD,eAAe,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAChE,kBAAkB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,MAAM,CAAC;IAC/D,mBAAmB,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,MAAM,CAAC;IAC5E,iBAAiB,CAAC,cAAc,EAAE,cAAc,GAAG,mBAAmB,CAAC;IACvE,UAAU,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/D"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ConsultBatchDto } from "../../applications/dtos";
|
|
2
|
+
import { SifenRepository } from "../repository/sifen.repository";
|
|
3
|
+
export declare class ConsultBatchUseCase {
|
|
4
|
+
private readonly sifenRepository;
|
|
5
|
+
constructor(sifenRepository: SifenRepository);
|
|
6
|
+
execute(consultBatchDto: ConsultBatchDto): string;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=consultBatch.useCase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consultBatch.useCase.d.ts","sourceRoot":"","sources":["../../../../src/sifen/domain/useCases/consultBatch.useCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAA5C,YAA6B,eAAe,EAAE,eAAe,EAAI;IAEjE,OAAO,CAAC,eAAe,EAAE,eAAe,UAIvC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ConsultDocumentDto } from "../../applications/dtos";
|
|
2
|
+
import { SifenRepository } from "../repository/sifen.repository";
|
|
3
|
+
export declare class ConsultDocumentUseCase {
|
|
4
|
+
private readonly sifenRepository;
|
|
5
|
+
constructor(sifenRepository: SifenRepository);
|
|
6
|
+
execute(consultDocumentDto: ConsultDocumentDto): string;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=consultDocument.useCase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consultDocument.useCase.d.ts","sourceRoot":"","sources":["../../../../src/sifen/domain/useCases/consultDocument.useCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,qBAAa,sBAAsB;IACrB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAA5C,YAA6B,eAAe,EAAE,eAAe,EAAI;IAEjE,OAAO,CAAC,kBAAkB,EAAE,kBAAkB,UAI7C;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ConsultRucDto } from "../../applications/dtos";
|
|
2
|
+
import { SifenRepository } from "../repository/sifen.repository";
|
|
3
|
+
export declare class ConsultRucUseCase {
|
|
4
|
+
private readonly sifenRepository;
|
|
5
|
+
constructor(sifenRepository: SifenRepository);
|
|
6
|
+
execute(consultRucDto: ConsultRucDto): string;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=consultRuc.useCase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consultRuc.useCase.d.ts","sourceRoot":"","sources":["../../../../src/sifen/domain/useCases/consultRuc.useCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAA5C,YAA6B,eAAe,EAAE,eAAe,EAAI;IAEjE,OAAO,CAAC,aAAa,EAAE,aAAa,UAInC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { GenerationQrDto } from "../../applications/dtos";
|
|
2
|
+
import { SifenRepository } from "../repository/sifen.repository";
|
|
3
|
+
export declare class GenerateQrUseCase {
|
|
4
|
+
private readonly sifenRepository;
|
|
5
|
+
constructor(sifenRepository: SifenRepository);
|
|
6
|
+
execute(generationQrDto: GenerationQrDto): Promise<string>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=generateQr.useCase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateQr.useCase.d.ts","sourceRoot":"","sources":["../../../../src/sifen/domain/useCases/generateQr.useCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAA5C,YAA6B,eAAe,EAAE,eAAe,EAAI;IAE3D,OAAO,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAI/D;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { ConsultBatchUseCase } from "./consultBatch.useCase";
|
|
2
|
+
export { ConsultRucUseCase } from "./consultRuc.useCase";
|
|
3
|
+
export { ConsultDocumentUseCase } from "./consultDocument.useCase";
|
|
4
|
+
export { ObtainDigitalSignUseCase } from "./obtainDigitalSign.useCase";
|
|
5
|
+
export { GenerateQrUseCase } from "./generateQr.useCase";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/sifen/domain/useCases/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
|