consultame-sdk 1.2.0 → 1.2.2
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 +0 -1
- package/dist/index.js +40 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +40 -2
- package/dist/index.mjs.map +1 -1
- package/dist/shared/functions/functions.utils.d.ts +2 -1
- package/dist/shared/functions/functions.utils.d.ts.map +1 -1
- package/dist/sifen/applications/dtos/generateBatch.dto.d.ts +5 -0
- package/dist/sifen/applications/dtos/generateBatch.dto.d.ts.map +1 -0
- package/dist/sifen/applications/dtos/index.d.ts +2 -0
- package/dist/sifen/applications/dtos/index.d.ts.map +1 -1
- package/dist/sifen/applications/services/sifen.service.d.ts +3 -1
- package/dist/sifen/applications/services/sifen.service.d.ts.map +1 -1
- package/dist/sifen/domain/repository/sifen.repository.d.ts +2 -1
- package/dist/sifen/domain/repository/sifen.repository.d.ts.map +1 -1
- package/dist/sifen/domain/useCases/cancelDocument.useCase.d.ts +8 -0
- package/dist/sifen/domain/useCases/cancelDocument.useCase.d.ts.map +1 -0
- package/dist/sifen/domain/useCases/generateBatch.useCase.d.ts +8 -0
- package/dist/sifen/domain/useCases/generateBatch.useCase.d.ts.map +1 -0
- package/dist/sifen/domain/useCases/index.d.ts +1 -0
- package/dist/sifen/domain/useCases/index.d.ts.map +1 -1
- package/dist/sifen/infrastructure/persistence/sifen.persistence.d.ts +2 -1
- package/dist/sifen/infrastructure/persistence/sifen.persistence.d.ts.map +1 -1
- package/package.json +6 -8
package/README.md
CHANGED
|
@@ -51,7 +51,6 @@ Dependencias en tiempo de ejecución:
|
|
|
51
51
|
| [`node-forge`](https://www.npmjs.com/package/node-forge) | Leer los certificados `.p12`/`.pfx` y exportarlos a PEM. |
|
|
52
52
|
| [`xml2js`](https://www.npmjs.com/package/xml2js) | Parsear el XML firmado al generar el QR. |
|
|
53
53
|
| [`xml-crypto`](https://www.npmjs.com/package/xml-crypto) | Firmar digitalmente (XMLDSig) el Documento Electrónico generado. |
|
|
54
|
-
| [`crypto-js`](https://www.npmjs.com/package/crypto-js) | Calcular el hash SHA-256 (`cHashQR`) del código QR. |
|
|
55
54
|
|
|
56
55
|
La librería se publica en formato dual **CommonJS + ESM** con tipos incluidos:
|
|
57
56
|
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var fs = require('fs');
|
|
4
4
|
var forge = require('node-forge');
|
|
5
5
|
var xml2js = require('xml2js');
|
|
6
|
-
var
|
|
6
|
+
var crypto = require('crypto');
|
|
7
7
|
var xmlCrypto = require('xml-crypto');
|
|
8
8
|
|
|
9
9
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -28,7 +28,6 @@ function _interopNamespace(e) {
|
|
|
28
28
|
|
|
29
29
|
var forge__default = /*#__PURE__*/_interopDefault(forge);
|
|
30
30
|
var xml2js__namespace = /*#__PURE__*/_interopNamespace(xml2js);
|
|
31
|
-
var sha256__default = /*#__PURE__*/_interopDefault(sha256);
|
|
32
31
|
|
|
33
32
|
// src/sifen/domain/useCases/consultBatch.useCase.ts
|
|
34
33
|
var ConsultBatchUseCase = class {
|
|
@@ -132,6 +131,18 @@ var NominationInvoiceUseCase = class {
|
|
|
132
131
|
}
|
|
133
132
|
};
|
|
134
133
|
|
|
134
|
+
// src/sifen/domain/useCases/generateBatch.useCase.ts
|
|
135
|
+
var GenerateBatchUseCase = class {
|
|
136
|
+
constructor(sifenRepository) {
|
|
137
|
+
this.sifenRepository = sifenRepository;
|
|
138
|
+
}
|
|
139
|
+
sifenRepository;
|
|
140
|
+
execute(generateBatchDto) {
|
|
141
|
+
const batch = this.sifenRepository.generateBatch(generateBatchDto);
|
|
142
|
+
return batch;
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
|
|
135
146
|
// src/shared/utils/dictionary.utils.ts
|
|
136
147
|
var TIPOS_DOCUMENTOS = [
|
|
137
148
|
{
|
|
@@ -8169,6 +8180,19 @@ var generateConsultBatchXml = (consultBatchDto) => {
|
|
|
8169
8180
|
</env:Envelope>
|
|
8170
8181
|
`;
|
|
8171
8182
|
};
|
|
8183
|
+
var generateSendBatchXml = (generateBatchDto) => {
|
|
8184
|
+
return `<?xml version="1.0" encoding="UTF-8"?>
|
|
8185
|
+
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
|
|
8186
|
+
<env:Header/>
|
|
8187
|
+
<env:Body>
|
|
8188
|
+
<rEnvioLote xmlns="http://ekuatia.set.gov.py/sifen/xsd">
|
|
8189
|
+
<dId>${generateBatchDto.id}</dId>
|
|
8190
|
+
<xDE>${generateBatchDto.xml}</xDE>
|
|
8191
|
+
</rEnvioLote>
|
|
8192
|
+
</env:Body>
|
|
8193
|
+
</env:Envelope>
|
|
8194
|
+
`;
|
|
8195
|
+
};
|
|
8172
8196
|
var validateNominationInvoice = (dto) => {
|
|
8173
8197
|
if (!/^\d{44}$/.test(dto.cdc)) {
|
|
8174
8198
|
throw new Error("El CDC debe tener 44 d\xEDgitos");
|
|
@@ -8388,7 +8412,7 @@ var generateQr = async (generationQrDto) => {
|
|
|
8388
8412
|
qr += "DigestValue=" + digestValue + "&";
|
|
8389
8413
|
qr += "IdCSC=" + idCsc;
|
|
8390
8414
|
const valueForHash = qr;
|
|
8391
|
-
const valueHashed =
|
|
8415
|
+
const valueHashed = crypto.createHash("sha256").update(valueForHash + csc, "utf8").digest("hex");
|
|
8392
8416
|
qr += "&cHashQR=" + valueHashed;
|
|
8393
8417
|
const dCarQR = (linkQr + qr).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
8394
8418
|
const cierreRDE = xml.lastIndexOf("</rDE>");
|
|
@@ -10168,6 +10192,13 @@ var SifenPersistence = class {
|
|
|
10168
10192
|
throw error;
|
|
10169
10193
|
}
|
|
10170
10194
|
}
|
|
10195
|
+
generateBatch(generateBatchDto) {
|
|
10196
|
+
try {
|
|
10197
|
+
return generateSendBatchXml(generateBatchDto);
|
|
10198
|
+
} catch (error) {
|
|
10199
|
+
throw error;
|
|
10200
|
+
}
|
|
10201
|
+
}
|
|
10171
10202
|
};
|
|
10172
10203
|
|
|
10173
10204
|
// src/sifen/applications/services/sifen.service.ts
|
|
@@ -10180,6 +10211,7 @@ var SifenService = class {
|
|
|
10180
10211
|
generateDocumentUseCase;
|
|
10181
10212
|
signedXmlUseCase;
|
|
10182
10213
|
nominationInvoiceUseCase;
|
|
10214
|
+
generateBatchUseCase;
|
|
10183
10215
|
sifenRepository;
|
|
10184
10216
|
constructor() {
|
|
10185
10217
|
this.sifenRepository = new SifenPersistence();
|
|
@@ -10199,6 +10231,7 @@ var SifenService = class {
|
|
|
10199
10231
|
this.nominationInvoiceUseCase = new NominationInvoiceUseCase(
|
|
10200
10232
|
this.sifenRepository
|
|
10201
10233
|
);
|
|
10234
|
+
this.generateBatchUseCase = new GenerateBatchUseCase(this.sifenRepository);
|
|
10202
10235
|
}
|
|
10203
10236
|
consultRuc(consultRucDto) {
|
|
10204
10237
|
const ruc = this.consultRucUseCase.execute(consultRucDto);
|
|
@@ -10246,6 +10279,10 @@ var SifenService = class {
|
|
|
10246
10279
|
throw error;
|
|
10247
10280
|
}
|
|
10248
10281
|
}
|
|
10282
|
+
generateBatch(generateBatchDto) {
|
|
10283
|
+
const xml = this.generateBatchUseCase.execute(generateBatchDto);
|
|
10284
|
+
return xml;
|
|
10285
|
+
}
|
|
10249
10286
|
};
|
|
10250
10287
|
|
|
10251
10288
|
exports.SifenService = SifenService;
|