@facturacr/atv-sdk 0.0.12-beta → 0.0.14-beta

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.
Files changed (165) hide show
  1. package/dist/__tests__/stubs/createDocument.stub.d.ts +2 -0
  2. package/dist/__tests__/stubs/createDocument.stub.js +78 -0
  3. package/dist/__tests__/stubs/createDocument.stub.js.map +1 -0
  4. package/dist/__tests__/stubs/frontendRequest.stub.d.ts +3 -0
  5. package/dist/__tests__/stubs/frontendRequest.stub.js +61 -0
  6. package/dist/__tests__/stubs/frontendRequest.stub.js.map +1 -0
  7. package/dist/__tests__/stubs/token.stub.d.ts +17 -0
  8. package/dist/__tests__/stubs/token.stub.js +21 -0
  9. package/dist/__tests__/stubs/token.stub.js.map +1 -0
  10. package/dist/__tests__/tests/ATV/index.test.d.ts +1 -0
  11. package/dist/__tests__/tests/ATV/index.test.js +62 -0
  12. package/dist/__tests__/tests/ATV/index.test.js.map +1 -0
  13. package/dist/__tests__/tests/getClave.test.d.ts +1 -0
  14. package/dist/__tests__/tests/getClave.test.js +15 -0
  15. package/dist/__tests__/tests/getClave.test.js.map +1 -0
  16. package/dist/__tests__/tests/getToken.test.d.ts +0 -0
  17. package/dist/__tests__/tests/getToken.test.js +28 -0
  18. package/dist/__tests__/tests/getToken.test.js.map +1 -0
  19. package/dist/__tests__/tests/lib/getClave.test.d.ts +1 -0
  20. package/dist/__tests__/tests/lib/getClave.test.js +15 -0
  21. package/dist/__tests__/tests/lib/getClave.test.js.map +1 -0
  22. package/dist/__tests__/tests/services/getToken.test.d.ts +1 -0
  23. package/dist/__tests__/tests/services/getToken.test.js +27 -0
  24. package/dist/__tests__/tests/services/getToken.test.js.map +1 -0
  25. package/dist/examples/confirmXML.d.ts +1 -0
  26. package/dist/examples/confirmXML.js +89 -0
  27. package/dist/examples/confirmXML.js.map +1 -0
  28. package/dist/examples/consultXML.d.ts +1 -0
  29. package/dist/examples/consultXML.js +55 -0
  30. package/dist/examples/consultXML.js.map +1 -0
  31. package/dist/examples/createAndSend.d.ts +1 -0
  32. package/dist/examples/createAndSend.js +73 -0
  33. package/dist/examples/createAndSend.js.map +1 -0
  34. package/dist/examples/createCreditNote.d.ts +1 -0
  35. package/dist/examples/createCreditNote.js +52 -0
  36. package/dist/examples/createCreditNote.js.map +1 -0
  37. package/dist/examples/createDebitNote.d.ts +1 -0
  38. package/dist/examples/createDebitNote.js +52 -0
  39. package/dist/examples/createDebitNote.js.map +1 -0
  40. package/dist/examples/genBasicXML.d.ts +1 -0
  41. package/dist/examples/genBasicXML.js +44 -0
  42. package/dist/examples/genBasicXML.js.map +1 -0
  43. package/dist/examples/getClave.d.ts +1 -0
  44. package/dist/examples/getClave.js +12 -0
  45. package/dist/examples/getClave.js.map +1 -0
  46. package/dist/examples/getToken.d.ts +1 -0
  47. package/dist/examples/getToken.js +18 -0
  48. package/dist/examples/getToken.js.map +1 -0
  49. package/dist/src/ATV/core/Clave.d.ts +18 -0
  50. package/dist/src/ATV/core/Clave.js +29 -0
  51. package/dist/src/ATV/core/Clave.js.map +1 -0
  52. package/dist/src/ATV/core/Document.d.ts +46 -0
  53. package/dist/src/ATV/core/Document.js +80 -0
  54. package/dist/src/ATV/core/Document.js.map +1 -0
  55. package/dist/src/ATV/core/DocumentType.d.ts +8 -0
  56. package/dist/src/ATV/core/DocumentType.js +20 -0
  57. package/dist/src/ATV/core/DocumentType.js.map +1 -0
  58. package/dist/src/ATV/core/FullConsecutive.d.ts +13 -0
  59. package/dist/src/ATV/core/FullConsecutive.js +22 -0
  60. package/dist/src/ATV/core/FullConsecutive.js.map +1 -0
  61. package/dist/src/ATV/core/OrderLine.d.ts +34 -0
  62. package/dist/src/ATV/core/OrderLine.js +63 -0
  63. package/dist/src/ATV/core/OrderLine.js.map +1 -0
  64. package/dist/src/ATV/core/Person.d.ts +36 -0
  65. package/dist/src/ATV/core/Person.js +37 -0
  66. package/dist/src/ATV/core/Person.js.map +1 -0
  67. package/dist/src/ATV/core/Summary.type.d.ts +20 -0
  68. package/dist/src/ATV/core/Summary.type.js +3 -0
  69. package/dist/src/ATV/core/Summary.type.js.map +1 -0
  70. package/dist/src/ATV/core/documentNames.types.d.ts +1 -0
  71. package/dist/src/ATV/core/documentNames.types.js +3 -0
  72. package/dist/src/ATV/core/documentNames.types.js.map +1 -0
  73. package/dist/src/ATV/index.d.ts +32 -0
  74. package/dist/src/ATV/index.js +135 -0
  75. package/dist/src/ATV/index.js.map +1 -0
  76. package/dist/src/ATV/mappers/billDocToAtv.d.ts +5 -0
  77. package/dist/src/ATV/mappers/billDocToAtv.js +99 -0
  78. package/dist/src/ATV/mappers/billDocToAtv.js.map +1 -0
  79. package/dist/src/ATV/types.d.ts +32 -0
  80. package/dist/src/ATV/types.js +3 -0
  81. package/dist/src/ATV/types.js.map +1 -0
  82. package/dist/src/ATV/useCases/createDocument/index.d.ts +16 -0
  83. package/dist/src/ATV/useCases/createDocument/index.js +139 -0
  84. package/dist/src/ATV/useCases/createDocument/index.js.map +1 -0
  85. package/dist/src/ATV/useCases/createDocument/types.d.ts +72 -0
  86. package/dist/src/ATV/useCases/createDocument/types.js +3 -0
  87. package/dist/src/ATV/useCases/createDocument/types.js.map +1 -0
  88. package/dist/src/confirmXML.d.ts +8 -0
  89. package/dist/src/confirmXML.js +44 -0
  90. package/dist/src/confirmXML.js.map +1 -0
  91. package/dist/src/creditNote.d.ts +14 -0
  92. package/dist/src/creditNote.js +77 -0
  93. package/dist/src/creditNote.js.map +1 -0
  94. package/dist/src/data/codigoMoneda.d.ts +1 -0
  95. package/dist/src/data/codigoMoneda.js +184 -0
  96. package/dist/src/data/codigoMoneda.js.map +1 -0
  97. package/dist/src/data/exoneracion.d.ts +1 -0
  98. package/dist/src/data/exoneracion.js +15 -0
  99. package/dist/src/data/exoneracion.js.map +1 -0
  100. package/dist/src/data/impuestos.d.ts +25 -0
  101. package/dist/src/data/impuestos.js +51 -0
  102. package/dist/src/data/impuestos.js.map +1 -0
  103. package/dist/src/data/tipoCedula.d.ts +7 -0
  104. package/dist/src/data/tipoCedula.js +17 -0
  105. package/dist/src/data/tipoCedula.js.map +1 -0
  106. package/dist/src/data/tipoDocumento.d.ts +26 -0
  107. package/dist/src/data/tipoDocumento.js +30 -0
  108. package/dist/src/data/tipoDocumento.js.map +1 -0
  109. package/dist/src/data/unidadesMedida.d.ts +5 -0
  110. package/dist/src/data/unidadesMedida.js +141 -0
  111. package/dist/src/data/unidadesMedida.js.map +1 -0
  112. package/dist/src/debitNote.d.ts +14 -0
  113. package/dist/src/debitNote.js +77 -0
  114. package/dist/src/debitNote.js.map +1 -0
  115. package/dist/src/electronicBill.d.ts +3 -0
  116. package/dist/src/electronicBill.js +61 -0
  117. package/dist/src/electronicBill.js.map +1 -0
  118. package/dist/src/helpers/comprobantes.d.ts +7 -0
  119. package/dist/src/helpers/comprobantes.js +92 -0
  120. package/dist/src/helpers/comprobantes.js.map +1 -0
  121. package/dist/src/index.d.ts +8 -0
  122. package/dist/src/index.js.map +1 -0
  123. package/dist/src/lib/genClave/index.d.ts +9 -0
  124. package/dist/src/lib/genClave/index.js +119 -0
  125. package/dist/src/lib/genClave/index.js.map +1 -0
  126. package/dist/src/lib/genJSON/confirmXML.d.ts +7 -0
  127. package/dist/src/lib/genJSON/confirmXML.js +46 -0
  128. package/dist/src/lib/genJSON/confirmXML.js.map +1 -0
  129. package/dist/src/lib/genJSON/index.d.ts +5 -0
  130. package/dist/src/lib/genJSON/index.js +135 -0
  131. package/dist/src/lib/genJSON/index.js.map +1 -0
  132. package/dist/src/lib/genXML/index.d.ts +7 -0
  133. package/dist/src/lib/genXML/index.js +51 -0
  134. package/dist/src/lib/genXML/index.js.map +1 -0
  135. package/dist/src/lib/genXML/sigXML/genKeysAndCert.d.ts +6 -0
  136. package/dist/src/lib/genXML/sigXML/genKeysAndCert.js +72 -0
  137. package/dist/src/lib/genXML/sigXML/genKeysAndCert.js.map +1 -0
  138. package/dist/src/lib/genXML/sigXML/index.d.ts +1 -0
  139. package/dist/src/lib/genXML/sigXML/index.js +86 -0
  140. package/dist/src/lib/genXML/sigXML/index.js.map +1 -0
  141. package/dist/src/lib/genXML/xmlConfig.d.ts +55 -0
  142. package/dist/src/lib/genXML/xmlConfig.js +36 -0
  143. package/dist/src/lib/genXML/xmlConfig.js.map +1 -0
  144. package/dist/src/services/getToken/GetToken.d.ts +8 -0
  145. package/dist/src/services/getToken/GetToken.js +66 -0
  146. package/dist/src/services/getToken/GetToken.js.map +1 -0
  147. package/dist/src/services/getToken/__tests__/GetToken.test.d.ts +1 -0
  148. package/dist/src/services/getToken/__tests__/GetToken.test.js +86 -0
  149. package/dist/src/services/getToken/__tests__/GetToken.test.js.map +1 -0
  150. package/dist/src/services/getToken/index.d.ts +3 -0
  151. package/dist/src/services/getToken/index.js +22 -0
  152. package/dist/src/services/getToken/index.js.map +1 -0
  153. package/dist/src/services/getToken/types.d.ts +27 -0
  154. package/dist/src/services/getToken/types.js +3 -0
  155. package/dist/src/services/getToken/types.js.map +1 -0
  156. package/dist/src/services/send/index.d.ts +2 -0
  157. package/dist/src/services/send/index.js +40 -0
  158. package/dist/src/services/send/index.js.map +1 -0
  159. package/dist/src/types/xml/notaDeCredito.d.ts +21 -0
  160. package/dist/src/types/xml/notaDeCredito.js +3 -0
  161. package/dist/src/types/xml/notaDeCredito.js.map +1 -0
  162. package/dist/src/types/xml/notaDeDebito.d.ts +21 -0
  163. package/dist/src/types/xml/notaDeDebito.js +3 -0
  164. package/dist/src/types/xml/notaDeDebito.js.map +1 -0
  165. package/package.json +5 -1
@@ -0,0 +1,2 @@
1
+ import { CreateDocumentInput } from '@src/ATV/useCases/createDocument/types';
2
+ export declare const createDocumentInputStub: CreateDocumentInput['document'];
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDocumentInputStub = void 0;
4
+ const taxStub = {
5
+ code: '01',
6
+ rateCode: '08',
7
+ rate: 13
8
+ };
9
+ const orderLines = [{
10
+ code: '7113301000000',
11
+ quantity: 1,
12
+ measureUnit: 'Unid',
13
+ detail: 'detalle',
14
+ unitaryPrice: 10,
15
+ tax: taxStub
16
+ }];
17
+ const receiverStub = {
18
+ fullName: 'SRL',
19
+ commercialName: 'CIENCIA DEL SABOR',
20
+ identifier: {
21
+ type: '02',
22
+ id: '3102759157'
23
+ },
24
+ location: {
25
+ province: '2',
26
+ canton: '06',
27
+ district: '04',
28
+ neighborhood: '06',
29
+ details: '25 norte 500 oeste restaurante El Faro'
30
+ },
31
+ phone: {
32
+ countryCode: '506',
33
+ number: '80808080'
34
+ },
35
+ email: 'cienciadelsabor@gmail.com',
36
+ fax: {
37
+ countryCode: '506',
38
+ number: '80808080'
39
+ }
40
+ };
41
+ const emitterStub = {
42
+ fullName: 'Nombre Receptor',
43
+ commercialName: 'xyz',
44
+ identifier: {
45
+ type: '01',
46
+ id: '206920142'
47
+ },
48
+ location: {
49
+ province: '1',
50
+ canton: '1',
51
+ district: '1',
52
+ neighborhood: '1',
53
+ details: 'Señas xyz'
54
+ },
55
+ email: 'test@test.com',
56
+ fax: {
57
+ countryCode: '506',
58
+ number: '12341234'
59
+ },
60
+ phone: {
61
+ countryCode: '506',
62
+ number: '12341234'
63
+ }
64
+ };
65
+ exports.createDocumentInputStub = {
66
+ consecutiveIdentifier: '2',
67
+ activityCode: '4',
68
+ documentName: 'FacturaElectronica',
69
+ branch: '001',
70
+ terminal: '00001',
71
+ ceSituation: '1',
72
+ countryCode: '506',
73
+ emitter: emitterStub,
74
+ receiver: receiverStub,
75
+ orderLines,
76
+ securityCode: '00000001'
77
+ };
78
+ //# sourceMappingURL=createDocument.stub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDocument.stub.js","sourceRoot":"","sources":["../../../__tests__/stubs/createDocument.stub.ts"],"names":[],"mappings":";;;AAEA,MAAM,OAAO,GAA4D;IACvE,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE,EAAE;CACT,CAAA;AAED,MAAM,UAAU,GAAkD,CAAC;QACjE,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,CAAC;QACX,WAAW,EAAE,MAAM;QACnB,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,EAAE;QAChB,GAAG,EAAE,OAAO;KACb,CAAC,CAAA;AAEF,MAAM,YAAY,GAA+C;IAC/D,QAAQ,EAAE,KAAK;IACf,cAAc,EAAE,mBAAmB;IACnC,UAAU,EAAE;QACV,IAAI,EAAE,IAAI;QACV,EAAE,EAAE,YAAY;KACjB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,GAAG;QACb,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,wCAAwC;KAClD;IACD,KAAK,EAAE;QACL,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,UAAU;KACnB;IACD,KAAK,EAAE,2BAA2B;IAClC,GAAG,EAAE;QACH,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,UAAU;KACnB;CACF,CAAA;AAED,MAAM,WAAW,GAAgD;IAC/D,QAAQ,EAAE,iBAAiB;IAC3B,cAAc,EAAE,KAAK;IACrB,UAAU,EAAE;QACV,IAAI,EAAE,IAAI;QACV,EAAE,EAAE,WAAW;KAChB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,GAAG;QACb,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,GAAG;QACb,YAAY,EAAE,GAAG;QACjB,OAAO,EAAE,WAAW;KACrB;IACD,KAAK,EAAE,eAAe;IACtB,GAAG,EAAE;QACH,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,UAAU;KACnB;IACD,KAAK,EAAE;QACL,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,UAAU;KACnB;CACF,CAAA;AAEY,QAAA,uBAAuB,GAAoC;IACtE,qBAAqB,EAAE,GAAG;IAC1B,YAAY,EAAE,GAAG;IACjB,YAAY,EAAE,oBAAoB;IAClC,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,OAAO;IACjB,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,YAAY;IACtB,UAAU;IACV,YAAY,EAAE,UAAU;CACzB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ClientPayload } from '@src/types/globalInterfaces';
2
+ declare const requestStub: ClientPayload;
3
+ export default requestStub;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const impuestoStub = {
4
+ Codigo: '01',
5
+ CodigoTarifa: '08',
6
+ Tarifa: 13
7
+ };
8
+ const lineaDetalleStub = {
9
+ Codigo: '8311100000000',
10
+ Cantidad: 1,
11
+ UnidadMedida: 'Unid',
12
+ Detalle: 'detalle',
13
+ PrecioUnitario: 10,
14
+ Impuesto: impuestoStub
15
+ };
16
+ const transmitterStub = {
17
+ Nombre: 'SRL',
18
+ NombreComercial: 'CIENCIA DEL SABOR',
19
+ Identificacion: {
20
+ Tipo: '02',
21
+ Numero: '3102759157'
22
+ },
23
+ Ubicacion: {
24
+ Provincia: '2',
25
+ Canton: '06',
26
+ Distrito: '04',
27
+ Barrio: '06',
28
+ OtrasSenas: '25 norte 500 oeste restaurante El Faro'
29
+ },
30
+ Telefono: {
31
+ CodigoPais: '506',
32
+ NumTelefono: '80808080'
33
+ },
34
+ CorreoElectronico: 'cienciadelsabor@gmail.com',
35
+ Fax: {
36
+ CodigoPais: '506',
37
+ NumTelefono: '80808080'
38
+ }
39
+ };
40
+ const receiverStub = {
41
+ Nombre: 'Nombre Receptor',
42
+ Identificacion: {
43
+ Numero: '206920142'
44
+ }
45
+ };
46
+ const requestStub = {
47
+ Emisor: transmitterStub,
48
+ Receptor: receiverStub,
49
+ sucursal: '001',
50
+ terminal: '00001',
51
+ tipoDocumento: 'FE',
52
+ codigoPais: '506',
53
+ consecutivo: '18',
54
+ codigoSeguridad: '00000001',
55
+ situationEC: '1',
56
+ actividad: '4',
57
+ LineasDetalle: [lineaDetalleStub],
58
+ facturaElectronicaType: 'FacturaElectronicaExportacion'
59
+ };
60
+ exports.default = requestStub;
61
+ //# sourceMappingURL=frontendRequest.stub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontendRequest.stub.js","sourceRoot":"","sources":["../../../__tests__/stubs/frontendRequest.stub.ts"],"names":[],"mappings":";;AAGA,MAAM,YAAY,GAAa;IAC7B,MAAM,EAAE,IAAI;IACZ,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,EAAE;CACX,CAAA;AAED,MAAM,gBAAgB,GAAiB;IACrC,MAAM,EAAE,eAAe;IACvB,QAAQ,EAAE,CAAC;IACX,YAAY,EAAE,MAAM;IACpB,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,EAAE;IAClB,QAAQ,EAAE,YAAY;CACvB,CAAA;AAED,MAAM,eAAe,GAAY;IAC/B,MAAM,EAAE,KAAK;IACb,eAAe,EAAE,mBAAmB;IACpC,cAAc,EAAE;QACd,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,YAAY;KACrB;IACD,SAAS,EAAE;QACT,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,wCAAwC;KACrD;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,UAAU;KACxB;IACD,iBAAiB,EAAE,2BAA2B;IAC9C,GAAG,EAAE;QACH,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,UAAU;KACxB;CACF,CAAA;AAED,MAAM,YAAY,GAAY;IAC5B,MAAM,EAAE,iBAAiB;IACzB,cAAc,EAAE;QACd,MAAM,EAAE,WAAW;KACpB;CACF,CAAA;AAED,MAAM,WAAW,GAAkB;IACjC,MAAM,EAAE,eAAe;IACvB,QAAQ,EAAE,YAAY;IACtB,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,OAAO;IACjB,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,IAAI;IACjB,eAAe,EAAE,UAAU;IAC3B,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,GAAG;IACd,aAAa,EAAE,CAAC,gBAAgB,CAAC;IACjC,sBAAsB,EAAE,+BAA+B;CACxD,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -0,0 +1,17 @@
1
+ export declare const postTokenOptions: {
2
+ client_id: string;
3
+ client_secret: string;
4
+ grant_type: string;
5
+ username: string;
6
+ password: string;
7
+ };
8
+ export declare const tokenStub: {
9
+ access_token: string;
10
+ expires_in: number;
11
+ refresh_expires_in: number;
12
+ refresh_token: string;
13
+ token_type: string;
14
+ 'not-before-policy': number;
15
+ session_state: string;
16
+ scope: string;
17
+ };
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tokenStub = exports.postTokenOptions = void 0;
4
+ exports.postTokenOptions = {
5
+ client_id: 'api-stag',
6
+ client_secret: '',
7
+ grant_type: 'password',
8
+ username: 'cpj-1-111-654321@stag.comprobanteselectronicos.go.cr',
9
+ password: 'Rg-OQS)]Y00987654321'
10
+ };
11
+ exports.tokenStub = {
12
+ access_token: 'eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJ4WERpTElEdW1DNUlKYkViZDRFRDlrMy1NS0Z6eUh4QW4xUWZYeEtSOWt3In0.eyJqdGkiOiIwMWE1NzY0Yy1lZGExLTRlNmEtOTg4MS1kNWJiYWQ5MTE3MjQiLCJleHAiOjE2MjE4MTIzNTcsIm5iZiI6MCwiaWF0IjoxNjIxODEyMDU3LCJpc3MiOiJodHRwOi8vaWRwLmNvbXByb2JhbnRlc2VsZWN0cm9uaWNvcy5nby5jci9hdXRoL3JlYWxtcy9ydXQtc3RhZyIsImF1ZCI6ImFjY291bnQiLCJzdWIiOiJiZDAyZmFiNS1hMjMwLTRlY2YtOWI3Zi1lMjA1NGM3YjhhMGYiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJhcGktc3RhZyIsImF1dGhfdGltZSI6MCwic2Vzc2lvbl9zdGF0ZSI6IjQ3Y2UyYzBhLTU2MDAtNDA0NS1hNDllLTQ1NDQwM2VmYzg2YiIsImFjciI6IjEiLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJ1bWFfYXV0aG9yaXphdGlvbiJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoiIiwibmFtZSI6IkNJRU5DSUEgREVMIFNBQk9SIFNPQ0lFREFEIERFIFJFU1BPTlNBQklMSURBRCBMSU1JVEFEQSIsInByZWZlcnJlZF91c2VybmFtZSI6ImNwai0zLTEwMi03NTkxNTdAc3RhZy5jb21wcm9iYW50ZXNlbGVjdHJvbmljb3MuZ28uY3IiLCJnaXZlbl9uYW1lIjoiQ0lFTkNJQSBERUwgU0FCT1IgU09DSUVEQUQgREUgUkVTUE9OU0FCSUxJREFEIExJTUlUQURBIiwicG9sIjoiNWI4MGI0NDc5ZWNlMzYwMzJiMDdkMmViIiwicG9saWN5LWlkIjoiNThhNjIwMzM3NmVhZTE0MDhjZTVlN2RkIiwiZW1haWwiOiJjcGotMy0xMDItNzU5MTU3QHN0YWcuY29tcHJvYmFudGVzZWxlY3Ryb25pY29zLmdvLmNyIn0.GBhbEkVQFGKgKr28H2SaB0QHMLIXcn8jmCj-VVTvSDGKmF7CLp7Dwi94oXiW72AoZAqvNBRnRr4hDJb7s8HZedhtD965O9x_pKPVYjgc6B_xXwczNqL6o4I2o3GKZ_1dY7E9KZgUTqv-dbZ3LmKmvB5dk_icRw-Kh5tGheUaF5cSdzIYa4VHy-ZgMcacdBnvl-G9mixkYlBShMJyszIQ-k2T9z4FFvOUdNstBiehwFiCBi7CS7HP_wn1w04O2uClyq-zHk9U8Qb25YROquFtZHV9IPrgg3LMA4MuLS6OhnKRjYHbqf0j4Elh_ucNYDs7Whz5Y76Ya33d3VhooUuDKA',
13
+ expires_in: 300,
14
+ refresh_expires_in: 1200,
15
+ refresh_token: 'eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJmOThjMTk2Mi02ZGJkLTRjNDAtOTM5Ni00YTVmMDdjYTYxZTQifQ.eyJqdGkiOiJiZDMyMWYyNC02MGFlLTRiMmYtYWJlZS01ZDI1NWNlMDAyMDYiLCJleHAiOjE2MjE4MTMyNTcsIm5iZiI6MCwiaWF0IjoxNjIxODEyMDU3LCJpc3MiOiJodHRwOi8vaWRwLmNvbXByb2JhbnRlc2VsZWN0cm9uaWNvcy5nby5jci9hdXRoL3JlYWxtcy9ydXQtc3RhZyIsImF1ZCI6Imh0dHA6Ly9pZHAuY29tcHJvYmFudGVzZWxlY3Ryb25pY29zLmdvLmNyL2F1dGgvcmVhbG1zL3J1dC1zdGFnIiwic3ViIjoiYmQwMmZhYjUtYTIzMC00ZWNmLTliN2YtZTIwNTRjN2I4YTBmIiwidHlwIjoiUmVmcmVzaCIsImF6cCI6ImFwaS1zdGFnIiwiYXV0aF90aW1lIjowLCJzZXNzaW9uX3N0YXRlIjoiNDdjZTJjMGEtNTYwMC00MDQ1LWE0OWUtNDU0NDAzZWZjODZiIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6IiJ9.aQzWy0NHyizDSZwYz14oOXrwekSPlHOrkjiRdo_BvP4',
16
+ token_type: 'bearer',
17
+ 'not-before-policy': 0,
18
+ session_state: '47ce2c0a-5600-4045-a49e-454403efc86b',
19
+ scope: ''
20
+ };
21
+ //# sourceMappingURL=token.stub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.stub.js","sourceRoot":"","sources":["../../../__tests__/stubs/token.stub.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC9B,SAAS,EAAE,UAAU;IACrB,aAAa,EAAE,EAAE;IACjB,UAAU,EAAE,UAAU;IACtB,QAAQ,EAAE,sDAAsD;IAChE,QAAQ,EAAE,sBAAsB;CACjC,CAAA;AAEY,QAAA,SAAS,GAAG;IACvB,YAAY,EAAE,ojDAAojD;IAClkD,UAAU,EAAE,GAAG;IACf,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,i3BAAi3B;IACh4B,UAAU,EAAE,QAAQ;IACpB,mBAAmB,EAAE,CAAC;IACtB,aAAa,EAAE,sCAAsC;IACrD,KAAK,EAAE,EAAE;CACV,CAAA"}
@@ -0,0 +1 @@
1
+ import 'jest-xml-matcher';
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const fs_1 = __importDefault(require("fs"));
16
+ const ATV_1 = require("@src/ATV");
17
+ require("jest-xml-matcher");
18
+ const createDocument_stub_1 = require("@test/stubs/createDocument.stub");
19
+ const fakePem = fs_1.default.readFileSync('__tests__/stubs/dummyKeys/client-identity.p12', 'binary');
20
+ const fakePassword = '1234';
21
+ const expectXml = fs_1.default.readFileSync('__tests__/stubs/commonExpectedXml.xml', 'utf-8');
22
+ describe('Create Document (Invoice)', () => {
23
+ beforeAll(() => {
24
+ jest.useFakeTimers();
25
+ jest.setSystemTime(new Date(2024, 3, 1, 0, 0, 0, 0));
26
+ });
27
+ it('should create document and generate a correct command', () => __awaiter(void 0, void 0, void 0, function* () {
28
+ const atv = new ATV_1.ATV({}, 'stg');
29
+ const createdDoc = yield atv.createDocumentCommand({
30
+ document: createDocument_stub_1.createDocumentInputStub,
31
+ token: 'fake-token',
32
+ signatureOptions: {
33
+ buffer: fakePem,
34
+ password: fakePassword
35
+ }
36
+ });
37
+ expect(createdDoc.command).toMatchObject({
38
+ url: 'https://api-sandbox.comprobanteselectronicos.go.cr/recepcion/v1/recepcion',
39
+ method: 'post'
40
+ });
41
+ expect(createdDoc.command.data).toMatchObject({
42
+ clave: '50601042400020692014200100001010000000002100000001',
43
+ fecha: '2024-04-01T00:00:00.000Z',
44
+ emisor: { tipoIdentificacion: '01', numeroIdentificacion: '206920142' },
45
+ receptor: { tipoIdentificacion: '02', numeroIdentificacion: '3102759157' }
46
+ });
47
+ expect(createdDoc.command.data.comprobanteXml).toBeDefined();
48
+ expect(createdDoc.extraData.xml).toBeDefined();
49
+ }));
50
+ it('should create document and generate a correct command', () => __awaiter(void 0, void 0, void 0, function* () {
51
+ const atv = new ATV_1.ATV({}, 'stg');
52
+ // @ts-ignore just for testing
53
+ const createdDoc = yield atv.createDocumentCommand({
54
+ document: createDocument_stub_1.createDocumentInputStub,
55
+ token: 'fake-token',
56
+ signatureOptions: undefined
57
+ });
58
+ expect(createdDoc.command.data.comprobanteXml).toMatchSnapshot();
59
+ expect(createdDoc.extraData.xml).toEqualXML(expectXml);
60
+ }));
61
+ });
62
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../__tests__/tests/ATV/index.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4CAAmB;AACnB,kCAA8B;AAC9B,4BAAyB;AACzB,yEAAyE;AACzE,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,+CAA+C,EAAE,QAAQ,CAAC,CAAA;AAC1F,MAAM,YAAY,GAAG,MAAM,CAAA;AAC3B,MAAM,SAAS,GAAG,YAAE,CAAC,YAAY,CAAC,uCAAuC,EAAE,OAAO,CAAC,CAAA;AAEnF,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uDAAuD,EAAE,GAAS,EAAE;QACrE,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAC9B,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,qBAAqB,CAAC;YACjD,QAAQ,EAAE,6CAAuB;YACjC,KAAK,EAAE,YAAY;YACnB,gBAAgB,EAAE;gBAChB,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,YAAY;aACvB;SACF,CAAC,CAAA;QACF,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;YACvC,GAAG,EAAE,2EAA2E;YAChF,MAAM,EAAE,MAAM;SACf,CAAC,CAAA;QACF,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;YAC5C,KAAK,EAAE,oDAAoD;YAC3D,KAAK,EAAE,0BAA0B;YACjC,MAAM,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE;YACvE,QAAQ,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAE;SAC3E,CAAC,CAAA;QACF,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAA;QAC5D,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;IAChD,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,uDAAuD,EAAE,GAAS,EAAE;QACrE,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAC9B,8BAA8B;QAC9B,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,qBAAqB,CAAC;YACjD,QAAQ,EAAE,6CAAuB;YACjC,KAAK,EAAE,YAAY;YACnB,gBAAgB,EAAE,SAAS;SAC5B,CAAC,CAAA;QACF,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,CAAA;QAChE,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IACxD,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const genClave_1 = require("../../src/lib/genClave");
7
+ const frontendRequest_stub_1 = __importDefault(require("../stubs/frontendRequest.stub"));
8
+ describe('GET CLAVE', () => {
9
+ it('should create a new key with 50 characters', () => {
10
+ const frontEndRequest = frontendRequest_stub_1.default;
11
+ const result = (0, genClave_1.getClave)(frontEndRequest);
12
+ expect(result.length).toBe(50);
13
+ });
14
+ });
15
+ //# sourceMappingURL=getClave.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getClave.test.js","sourceRoot":"","sources":["../../../__tests__/tests/getClave.test.ts"],"names":[],"mappings":";;;;;AAAA,qDAAiD;AACjD,yFAA8C;AAG9C,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,eAAe,GAAkB,8BAAE,CAAA;QACzC,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC,eAAe,CAAC,CAAA;QACxC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
File without changes
@@ -0,0 +1,28 @@
1
+ // import getToken from '../../src/services/getToken'
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ // const USERNAME_TEST = process.env.USERNAME_TEST
12
+ // const PASSWORD_TEST = process.env.PASSWORD_TEST
13
+ describe('GET TOKEN', () => {
14
+ it('should create a new user token', () => __awaiter(this, void 0, void 0, function* () {
15
+ // const response = await getToken({
16
+ // client_id: 'api-stag',
17
+ // client_secret: '',
18
+ // grant_type: 'password',
19
+ // username: USERNAME_TEST,
20
+ // password: PASSWORD_TEST
21
+ // })
22
+ // const { access_token } = response.data
23
+ // expect(access_token).toBeTruthy()
24
+ // TODO mock axios
25
+ expect(1 + 1).toEqual(2);
26
+ }));
27
+ });
28
+ //# sourceMappingURL=getToken.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getToken.test.js","sourceRoot":"","sources":["../../../__tests__/tests/getToken.test.ts"],"names":[],"mappings":"AAAA,qDAAqD;;;;;;;;;;AAErD,kDAAkD;AAClD,kDAAkD;AAElD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,gCAAgC,EAAE,GAAS,EAAE;QAC9C,oCAAoC;QACpC,2BAA2B;QAC3B,uBAAuB;QACvB,4BAA4B;QAC5B,6BAA6B;QAC7B,4BAA4B;QAC5B,KAAK;QACL,yCAAyC;QACzC,oCAAoC;QACpC,kBAAkB;QAClB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const genClave_1 = require("../../../src/lib/genClave");
7
+ const frontendRequest_stub_1 = __importDefault(require("../../stubs/frontendRequest.stub"));
8
+ describe('GET CLAVE', () => {
9
+ it('should create a new key with 50 characters', () => {
10
+ const frontEndRequest = frontendRequest_stub_1.default;
11
+ const result = (0, genClave_1.getClave)(frontEndRequest);
12
+ expect(result.length).toBe(50);
13
+ });
14
+ });
15
+ //# sourceMappingURL=getClave.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getClave.test.js","sourceRoot":"","sources":["../../../../__tests__/tests/lib/getClave.test.ts"],"names":[],"mappings":";;;;;AAAA,wDAAoD;AACpD,4FAAiD;AAGjD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,eAAe,GAAkB,8BAAE,CAAA;QACzC,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC,eAAe,CAAC,CAAA;QACxC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const axios_1 = __importDefault(require("axios"));
16
+ const token_stub_1 = require("@test/stubs/token.stub");
17
+ const getToken_1 = __importDefault(require("@src/services/getToken"));
18
+ jest.mock('axios');
19
+ const mockedAxios = axios_1.default;
20
+ describe('Get Token', () => {
21
+ it('should return a valid token', () => __awaiter(void 0, void 0, void 0, function* () {
22
+ mockedAxios.post.mockResolvedValue({ data: token_stub_1.tokenStub });
23
+ const token = yield (0, getToken_1.default)(token_stub_1.postTokenOptions);
24
+ expect(token).toEqual({ data: token_stub_1.tokenStub });
25
+ }));
26
+ });
27
+ //# sourceMappingURL=getToken.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getToken.test.js","sourceRoot":"","sources":["../../../../__tests__/tests/services/getToken.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAAyB;AACzB,uDAAoE;AACpE,sEAA6C;AAE7C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAClB,MAAM,WAAW,GAAG,eAAkC,CAAA;AAEtD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,6BAA6B,EAAE,GAAS,EAAE;QAC3C,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,sBAAS,EAAE,CAAC,CAAA;QACvD,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAQ,EAAC,6BAAgB,CAAC,CAAA;QAE9C,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,sBAAS,EAAE,CAAC,CAAA;IAC5C,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const confirmXML_1 = __importDefault(require("@src/confirmXML"));
16
+ const index_1 = require("@src/services/send/index");
17
+ const getToken_1 = __importDefault(require("@src/services/getToken"));
18
+ const fs_1 = __importDefault(require("fs"));
19
+ const USERNAME_TEST = process.env.USERNAME_TEST;
20
+ const PASSWORD_TEST = process.env.PASSWORD_TEST;
21
+ const SOURCE_P12_URI = process.env.SOURCE_P12_URI;
22
+ const SOURCE_P12_PASSPORT = process.env.SOURCE_P12_PASSPORT;
23
+ const XML_TO_CONFIRM = process.env.XML_TO_CONFIRM;
24
+ function decodeBase64(encodedStr) {
25
+ const buff = Buffer.from(encodedStr, 'base64');
26
+ return buff.toString('ascii');
27
+ }
28
+ function getConfimation(token, data, ms) {
29
+ return new Promise((resolve, reject) => {
30
+ setTimeout(() => {
31
+ const location = data.headers.location;
32
+ console.log('location', location);
33
+ (0, index_1.sendToCustomURL)(token, location)
34
+ .then(data => resolve(data))
35
+ .catch(err => reject(err));
36
+ }, ms);
37
+ });
38
+ }
39
+ function main() {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ try {
42
+ const pem = fs_1.default.readFileSync(SOURCE_P12_URI, 'binary');
43
+ const xml = fs_1.default.readFileSync(XML_TO_CONFIRM, 'utf-8');
44
+ const token = yield (0, getToken_1.default)({
45
+ client_id: 'api-stag',
46
+ client_secret: '',
47
+ grant_type: 'password',
48
+ username: USERNAME_TEST,
49
+ password: PASSWORD_TEST
50
+ });
51
+ const consecutivo = {
52
+ consecutivo: '0000000013'
53
+ };
54
+ const data = yield (0, confirmXML_1.default)({
55
+ token: token.data.access_token,
56
+ consecutivo,
57
+ xmlStr: xml,
58
+ tipoDocKey: 'CCE',
59
+ pemOpt: {
60
+ buffer: pem,
61
+ password: SOURCE_P12_PASSPORT
62
+ }
63
+ });
64
+ if (data) {
65
+ const secondResponse = yield getConfimation(token.data.access_token, data, 10000)
66
+ .catch(err => {
67
+ const response = err.response || {};
68
+ console.log('response', response);
69
+ });
70
+ const XMLResponse = secondResponse.data['respuesta-xml'];
71
+ if (!XMLResponse) {
72
+ const state = secondResponse.data['ind-estado'];
73
+ console.log('state', state);
74
+ return;
75
+ }
76
+ const text = decodeBase64(XMLResponse);
77
+ console.log('secondResponse', text);
78
+ }
79
+ else {
80
+ console.log('no data', data);
81
+ }
82
+ }
83
+ catch (error) {
84
+ console.warn(error.code);
85
+ }
86
+ });
87
+ }
88
+ main();
89
+ //# sourceMappingURL=confirmXML.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirmXML.js","sourceRoot":"","sources":["../../examples/confirmXML.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const send_1 = require("@src/services/send");
16
+ const getToken_1 = __importDefault(require("@src/services/getToken"));
17
+ const USERNAME_TEST = process.env.USERNAME_TEST;
18
+ const PASSWORD_TEST = process.env.PASSWORD_TEST;
19
+ const location = process.env.CLAVE_TEST;
20
+ function decodeBase64(encodedStr) {
21
+ const buff = Buffer.from(encodedStr, 'base64');
22
+ return buff.toString('ascii');
23
+ }
24
+ function main() {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ const token = yield (0, getToken_1.default)({
27
+ client_id: 'api-stag',
28
+ client_secret: '',
29
+ grant_type: 'password',
30
+ username: USERNAME_TEST,
31
+ password: PASSWORD_TEST
32
+ });
33
+ const secondResponse = yield (0, send_1.sendToCustomURL)(token.data.access_token, location).catch((err) => {
34
+ const response = err.response || {};
35
+ const header = response.headers || {};
36
+ const data = response.data = {};
37
+ console.log('status', response.status);
38
+ console.log('data', data);
39
+ console.log('x-error-cause', header['x-error-cause']);
40
+ console.log('err', err);
41
+ });
42
+ if (secondResponse) {
43
+ const XMLResponse = secondResponse.data['respuesta-xml'];
44
+ const state = secondResponse.data['ind-estado'];
45
+ if (!XMLResponse) {
46
+ console.log('state', state);
47
+ return;
48
+ }
49
+ const text = decodeBase64(XMLResponse);
50
+ console.log('secondResponse', text);
51
+ }
52
+ });
53
+ }
54
+ main();
55
+ //# sourceMappingURL=consultXML.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consultXML.js","sourceRoot":"","sources":["../../examples/consultXML.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,6CAAoD;AACpD,sEAA6C;AAE7C,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAA;AAC/C,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAA;AAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAA;AAEvC,SAAS,YAAY,CAAC,UAAkB;IACtC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC;AAED,SAAe,IAAI;;QACjB,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAQ,EAAC;YAC3B,SAAS,EAAE,UAAU;YACrB,aAAa,EAAE,EAAE;YACjB,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,aAAa;YACvB,QAAQ,EAAE,aAAa;SACxB,CAAC,CAAA;QACF,MAAM,cAAc,GAAG,MAAM,IAAA,sBAAe,EAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5F,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAA;YACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAA;YACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAA;YAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;YACtC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACzB,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAA;YACrD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;QACF,IAAI,cAAc,EAAE;YAClB,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;YACxD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAC/C,IAAI,CAAC,WAAW,EAAE;gBAChB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;gBAC3B,OAAM;aACP;YACD,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA;YACtC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAA;SACpC;IACH,CAAC;CAAA;AAED,IAAI,EAAE,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const fs_1 = __importDefault(require("fs"));
16
+ const ATV_1 = require("@src/ATV");
17
+ const createDocument_stub_1 = require("@test/stubs/createDocument.stub");
18
+ const IS_STG = process.env.IS_STG;
19
+ const USERNAME_TEST = process.env.USERNAME_TEST;
20
+ const PASSWORD_TEST = process.env.PASSWORD_TEST;
21
+ console.log('process.env.IS_STG', IS_STG);
22
+ const SOURCE_P12_URI = process.env.SOURCE_P12_URI;
23
+ const SOURCE_P12_PASSPORT = process.env.SOURCE_P12_PASSPORT;
24
+ if (!SOURCE_P12_PASSPORT || !SOURCE_P12_URI) {
25
+ throw new Error('No environment. For running examples set .env before.');
26
+ }
27
+ const pem = fs_1.default.readFileSync(SOURCE_P12_URI, 'binary');
28
+ console.log('requestStub consecutivo', createDocument_stub_1.createDocumentInputStub.consecutiveIdentifier);
29
+ // TODO: dynamic param --identifier 1 args[x]
30
+ createDocument_stub_1.createDocumentInputStub.consecutiveIdentifier = '1';
31
+ function getConfimation(atv, token, location, ms) {
32
+ return new Promise((resolve, reject) => {
33
+ setTimeout(() => {
34
+ console.log('location', location);
35
+ atv.sendConfirmation({
36
+ url: location,
37
+ headers: {
38
+ 'Content-Type': 'application/json',
39
+ Authorization: 'bearer ' + token
40
+ }
41
+ }).then(data => resolve(data))
42
+ .catch(err => reject(err));
43
+ }, ms);
44
+ });
45
+ }
46
+ function main() {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const atv = new ATV_1.ATV({}, 'stg');
49
+ const tokenData = yield atv.getToken({
50
+ username: USERNAME_TEST,
51
+ password: PASSWORD_TEST
52
+ });
53
+ const { command, extraData } = yield atv.createDocumentCommand({
54
+ document: createDocument_stub_1.createDocumentInputStub,
55
+ token: tokenData.accessToken,
56
+ signatureOptions: {
57
+ buffer: pem,
58
+ password: SOURCE_P12_PASSPORT
59
+ }
60
+ });
61
+ // console.log('command', command)
62
+ // console.log('extraData', extraData)
63
+ const response = yield atv.sendDocument(command);
64
+ if (response.errorCause) {
65
+ console.log('error response', response);
66
+ return;
67
+ }
68
+ const confirmationResponse = yield getConfimation(atv, tokenData.accessToken, response.location, 1000);
69
+ console.log({ MensajeHacienda: confirmationResponse.confirmation });
70
+ });
71
+ }
72
+ main();
73
+ //# sourceMappingURL=createAndSend.js.map