@facturacr/atv-sdk 0.0.19-beta → 0.0.21-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 (99) hide show
  1. package/dist/src/ATV/core/Clave.js +1 -1
  2. package/dist/src/ATV/core/Clave.js.map +1 -1
  3. package/dist/src/ATV/core/FullConsecutive.js +1 -1
  4. package/dist/src/ATV/core/FullConsecutive.js.map +1 -1
  5. package/dist/src/ATV/index.js +0 -1
  6. package/dist/src/ATV/index.js.map +1 -1
  7. package/dist/src/ATV/mappers/billDocToAtv.d.ts +2 -2
  8. package/dist/src/ATV/useCases/createDocument/index.js +10 -9
  9. package/dist/src/ATV/useCases/createDocument/index.js.map +1 -1
  10. package/dist/src/ATV/useCases/createDocument/types.d.ts +2 -0
  11. package/dist/src/confirmXML.js +4 -4
  12. package/dist/src/confirmXML.js.map +1 -1
  13. package/dist/src/creditNote.js +4 -4
  14. package/dist/src/creditNote.js.map +1 -1
  15. package/dist/src/debitNote.js +4 -4
  16. package/dist/src/debitNote.js.map +1 -1
  17. package/dist/src/electronicBill.js +3 -3
  18. package/dist/src/electronicBill.js.map +1 -1
  19. package/dist/src/index.d.ts +2 -1
  20. package/dist/src/index.js.map +1 -1
  21. package/dist/src/lib/genClave/index.js +1 -1
  22. package/dist/src/lib/genClave/index.js.map +1 -1
  23. package/dist/src/lib/genJSON/confirmXML.js +1 -1
  24. package/dist/src/lib/genJSON/confirmXML.js.map +1 -1
  25. package/dist/src/lib/genJSON/index.js +1 -1
  26. package/dist/src/lib/genJSON/index.js.map +1 -1
  27. package/dist/src/lib/genXML/index.js +2 -2
  28. package/dist/src/lib/genXML/index.js.map +1 -1
  29. package/dist/src/lib/genXML/sigXML/index.js +1 -1
  30. package/dist/src/lib/genXML/sigXML/index.js.map +1 -1
  31. package/dist/src/services/getToken/__tests__/GetToken.test.js +1 -1
  32. package/dist/src/services/getToken/__tests__/GetToken.test.js.map +1 -1
  33. package/dist/src/types/facturaInterfaces.d.ts +110 -0
  34. package/dist/src/types/facturaInterfaces.js +7 -0
  35. package/dist/src/types/facturaInterfaces.js.map +1 -0
  36. package/dist/src/types/globalInterfaces.d.ts +44 -0
  37. package/dist/src/types/globalInterfaces.js +3 -0
  38. package/dist/src/types/globalInterfaces.js.map +1 -0
  39. package/examples/README.md +4 -0
  40. package/examples/createAndSend.ts +2 -1
  41. package/package.json +2 -2
  42. package/src/ATV/index.ts +0 -1
  43. package/src/ATV/mappers/billDocToAtv.ts +2 -2
  44. package/src/ATV/useCases/createDocument/index.ts +2 -1
  45. package/src/ATV/useCases/createDocument/types.ts +3 -0
  46. package/src/index.ts +4 -2
  47. package/src/lib/genJSON/index.ts +2 -2
  48. package/src/types/{facturaInterfaces.d.ts → facturaInterfaces.ts} +2 -2
  49. package/src/types/{globalInterfaces.d.ts → globalInterfaces.ts} +3 -3
  50. package/tsconfig-prod.json +4 -0
  51. package/tsconfig.json +0 -2
  52. package/dist/__tests__/stubs/createDocument.stub.d.ts +0 -2
  53. package/dist/__tests__/stubs/createDocument.stub.js +0 -78
  54. package/dist/__tests__/stubs/createDocument.stub.js.map +0 -1
  55. package/dist/__tests__/stubs/frontendRequest.stub.d.ts +0 -3
  56. package/dist/__tests__/stubs/frontendRequest.stub.js +0 -61
  57. package/dist/__tests__/stubs/frontendRequest.stub.js.map +0 -1
  58. package/dist/__tests__/stubs/token.stub.d.ts +0 -17
  59. package/dist/__tests__/stubs/token.stub.js +0 -21
  60. package/dist/__tests__/stubs/token.stub.js.map +0 -1
  61. package/dist/__tests__/tests/ATV/index.test.d.ts +0 -1
  62. package/dist/__tests__/tests/ATV/index.test.js +0 -62
  63. package/dist/__tests__/tests/ATV/index.test.js.map +0 -1
  64. package/dist/__tests__/tests/getClave.test.d.ts +0 -1
  65. package/dist/__tests__/tests/getClave.test.js +0 -15
  66. package/dist/__tests__/tests/getClave.test.js.map +0 -1
  67. package/dist/__tests__/tests/getToken.test.d.ts +0 -0
  68. package/dist/__tests__/tests/getToken.test.js +0 -28
  69. package/dist/__tests__/tests/getToken.test.js.map +0 -1
  70. package/dist/__tests__/tests/lib/getClave.test.d.ts +0 -1
  71. package/dist/__tests__/tests/lib/getClave.test.js +0 -15
  72. package/dist/__tests__/tests/lib/getClave.test.js.map +0 -1
  73. package/dist/__tests__/tests/services/getToken.test.d.ts +0 -1
  74. package/dist/__tests__/tests/services/getToken.test.js +0 -27
  75. package/dist/__tests__/tests/services/getToken.test.js.map +0 -1
  76. package/dist/examples/confirmXML.d.ts +0 -1
  77. package/dist/examples/confirmXML.js +0 -89
  78. package/dist/examples/confirmXML.js.map +0 -1
  79. package/dist/examples/consultXML.d.ts +0 -1
  80. package/dist/examples/consultXML.js +0 -55
  81. package/dist/examples/consultXML.js.map +0 -1
  82. package/dist/examples/createAndSend.d.ts +0 -1
  83. package/dist/examples/createAndSend.js +0 -73
  84. package/dist/examples/createAndSend.js.map +0 -1
  85. package/dist/examples/createCreditNote.d.ts +0 -1
  86. package/dist/examples/createCreditNote.js +0 -52
  87. package/dist/examples/createCreditNote.js.map +0 -1
  88. package/dist/examples/createDebitNote.d.ts +0 -1
  89. package/dist/examples/createDebitNote.js +0 -52
  90. package/dist/examples/createDebitNote.js.map +0 -1
  91. package/dist/examples/genBasicXML.d.ts +0 -1
  92. package/dist/examples/genBasicXML.js +0 -44
  93. package/dist/examples/genBasicXML.js.map +0 -1
  94. package/dist/examples/getClave.d.ts +0 -1
  95. package/dist/examples/getClave.js +0 -12
  96. package/dist/examples/getClave.js.map +0 -1
  97. package/dist/examples/getToken.d.ts +0 -1
  98. package/dist/examples/getToken.js +0 -18
  99. package/dist/examples/getToken.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@facturacr/atv-sdk",
3
- "version": "0.0.19-beta",
3
+ "version": "0.0.21-beta",
4
4
  "description": "Librería (SDK) de Javascript/NodeJS para acceder al API de Administración Tributaria Virtual (ATV) del Ministerio de Hacienda.",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -13,7 +13,7 @@
13
13
  "test": "npx jest --no-coverage",
14
14
  "test:cov": "npx jest",
15
15
  "dev": "dotenv -- nodemon -e ts,graphql -x 'yarn lint & ts-node -r tsconfig-paths/register src/index.ts'",
16
- "build": "tspc",
16
+ "build": "rm -r dist; tspc -p tsconfig-prod.json",
17
17
  "lint": "eslint --ext .ts, --ignore-path .gitignore .",
18
18
  "test:createAndSend": "yarn ts-node -r tsconfig-paths/register --require dotenv/config examples/createAndSend.ts"
19
19
  },
package/src/ATV/index.ts CHANGED
@@ -47,7 +47,6 @@ export class ATV {
47
47
  public async sendConfirmation(input: SendConfirmationInput) {
48
48
  try {
49
49
  const response = await axios(input)
50
- console.log('response', response)
51
50
  const xmlResponse = response.data['respuesta-xml']
52
51
  if (!xmlResponse) {
53
52
  const state = response.data['ind-estado']
@@ -1,9 +1,9 @@
1
- import { Document, FacturaElectronicaContenedor, DetalleServicio, Resumen, Persona } from '@src/types/facturaInterfaces'
1
+ import { Document, InvoiceDocumentContainer, DetalleServicio, Resumen, Persona } from '@src/types/facturaInterfaces'
2
2
  import { Document as DomainDocument } from '../core/Document'
3
3
  import { OrderLine } from '../core/OrderLine'
4
4
  import { Person } from '../core/Person'
5
5
 
6
- type AtvFormat = FacturaElectronicaContenedor
6
+ type AtvFormat = InvoiceDocumentContainer
7
7
 
8
8
  const mapOrderLinesToAtvFormat = (orderLines: OrderLine[]): DetalleServicio => {
9
9
  const LineaDetalle = orderLines.map<DetalleServicio['LineaDetalle'][0]>((orderLine) => {
@@ -35,7 +35,8 @@ export class CreateDocumentCommand {
35
35
  return {
36
36
  command,
37
37
  extraData: {
38
- xml
38
+ xml,
39
+ document: atvDocument
39
40
  }
40
41
  }
41
42
  }
@@ -1,5 +1,6 @@
1
1
  import { PersonProps } from '@src/ATV/core/Person'
2
2
  import { DocumentNames } from '@src/ATV/core/documentNames.types'
3
+ import { InvoiceDocumentContainer } from '@src/types/facturaInterfaces';
3
4
  import { Method } from 'axios'
4
5
 
5
6
  type PersonInput = PersonProps;
@@ -71,9 +72,11 @@ export type Command = {
71
72
  'Content-Type': string;
72
73
  };
73
74
  }
75
+
74
76
  export type CreateAndSendDocumentResponse = {
75
77
  command: Command;
76
78
  extraData: {
77
79
  xml: string;
80
+ document: InvoiceDocumentContainer;
78
81
  };
79
82
  }
package/src/index.ts CHANGED
@@ -1,2 +1,4 @@
1
- export { ATV } from './ATV'
2
- export { CreateDocumentInput } from './ATV/useCases/createDocument/types'
1
+
2
+ export { Document, InvoiceDocumentContainer, DetalleServicio, Resumen, Persona } from './types/facturaInterfaces'
3
+ export { CreateDocumentInput } from './ATV/useCases/createDocument/types'
4
+ export { ATV } from './ATV'
@@ -1,5 +1,5 @@
1
1
  import { ClientPayload } from '@src/types/globalInterfaces'
2
- import { FacturaElectronicaContenedor, Resumen, Persona, Impuesto, LineaDetalle } from '@src/types/facturaInterfaces'
2
+ import { InvoiceDocumentContainer, Resumen, Persona, Impuesto, LineaDetalle } from '@src/types/facturaInterfaces'
3
3
  import { genXML } from '@src/lib/genXML'
4
4
 
5
5
  // Default XML Values
@@ -123,7 +123,7 @@ export default async (frontEndRequest: ClientPayload, date: any, clave: string,
123
123
  },
124
124
  ResumenFactura: getBillResum(lines)
125
125
  }
126
- const factura: FacturaElectronicaContenedor = {
126
+ const factura: InvoiceDocumentContainer = {
127
127
  [key]: body
128
128
  }
129
129
  const XML = await genXML(key, factura, options)
@@ -95,8 +95,8 @@ export interface Document {
95
95
  };
96
96
  }
97
97
 
98
- export interface FacturaElectronicaContenedor {
99
- [key: 'FacturaElectronica' | 'FacturaElectronicaExportacion']: Document | FacturaElectronicaExportacion;
98
+ export interface InvoiceDocumentContainer {
99
+ [key: string]: Document;
100
100
  }
101
101
 
102
102
  export type ConfirmationMessageRaw = {
@@ -29,12 +29,12 @@ export interface ClaveOpts {
29
29
  terminal: string;
30
30
  }
31
31
 
32
- interface FinalMessagePerson {
32
+ export interface FinalMessagePerson {
33
33
  tipoIdentificacion: string;
34
34
  numeroIdentificacion: string;
35
35
  }
36
36
 
37
- interface FinalMessage {
37
+ export interface FinalMessage {
38
38
  clave: string;
39
39
  fecha: string;
40
40
  emisor: FinalMessagePerson;
@@ -42,7 +42,7 @@ interface FinalMessage {
42
42
  comprobanteXML: string;
43
43
  }
44
44
 
45
- type XmlOpt = {
45
+ export type XmlOpt = {
46
46
  buffer: string;
47
47
  password: string;
48
48
  base64: boolean;
@@ -0,0 +1,4 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "exclude": ["node_modules/**/*", "examples/**/*", "__tests__", "tools"]
4
+ }
package/tsconfig.json CHANGED
@@ -19,10 +19,8 @@
19
19
  "@test/*": ["__tests__/*"]
20
20
  },
21
21
  "plugins": [
22
- { "transform": "typescript-transform-paths" },
23
22
  { "transform": "typescript-transform-paths", "afterDeclarations": true }
24
23
  ]
25
24
  },
26
- "include": ["./src/**/*", "__tests__/**/*", "__tests__/stubs", "examples"],
27
25
  "exclude": ["node_modules/**/*"]
28
26
  }
@@ -1,2 +0,0 @@
1
- import { CreateDocumentInput } from "../../src/ATV/useCases/createDocument/types";
2
- export declare const createDocumentInputStub: CreateDocumentInput['document'];
@@ -1,78 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,3 +0,0 @@
1
- import { ClientPayload } from "../../src/types/globalInterfaces";
2
- declare const requestStub: ClientPayload;
3
- export default requestStub;
@@ -1,61 +0,0 @@
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', // In the examples this prop needs to be changed
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
@@ -1 +0,0 @@
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,EAAE,gDAAgD;IACnE,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"}
@@ -1,17 +0,0 @@
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
- };
@@ -1,21 +0,0 @@
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', // eslint-disable-line @typescript-eslint/camelcase
6
- client_secret: '', // eslint-disable-line @typescript-eslint/camelcase
7
- grant_type: 'password', // eslint-disable-line @typescript-eslint/camelcase
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', // eslint-disable-line @typescript-eslint/camelcase
13
- expires_in: 300, // eslint-disable-line @typescript-eslint/camelcase
14
- refresh_expires_in: 1200, // eslint-disable-line @typescript-eslint/camelcase
15
- refresh_token: 'eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJmOThjMTk2Mi02ZGJkLTRjNDAtOTM5Ni00YTVmMDdjYTYxZTQifQ.eyJqdGkiOiJiZDMyMWYyNC02MGFlLTRiMmYtYWJlZS01ZDI1NWNlMDAyMDYiLCJleHAiOjE2MjE4MTMyNTcsIm5iZiI6MCwiaWF0IjoxNjIxODEyMDU3LCJpc3MiOiJodHRwOi8vaWRwLmNvbXByb2JhbnRlc2VsZWN0cm9uaWNvcy5nby5jci9hdXRoL3JlYWxtcy9ydXQtc3RhZyIsImF1ZCI6Imh0dHA6Ly9pZHAuY29tcHJvYmFudGVzZWxlY3Ryb25pY29zLmdvLmNyL2F1dGgvcmVhbG1zL3J1dC1zdGFnIiwic3ViIjoiYmQwMmZhYjUtYTIzMC00ZWNmLTliN2YtZTIwNTRjN2I4YTBmIiwidHlwIjoiUmVmcmVzaCIsImF6cCI6ImFwaS1zdGFnIiwiYXV0aF90aW1lIjowLCJzZXNzaW9uX3N0YXRlIjoiNDdjZTJjMGEtNTYwMC00MDQ1LWE0OWUtNDU0NDAzZWZjODZiIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iXX0sInJlc291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6IiJ9.aQzWy0NHyizDSZwYz14oOXrwekSPlHOrkjiRdo_BvP4', // eslint-disable-line @typescript-eslint/camelcase
16
- token_type: 'bearer', // eslint-disable-line @typescript-eslint/camelcase
17
- 'not-before-policy': 0,
18
- session_state: '47ce2c0a-5600-4045-a49e-454403efc86b', // eslint-disable-line @typescript-eslint/camelcase
19
- scope: ''
20
- };
21
- //# sourceMappingURL=token.stub.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token.stub.js","sourceRoot":"","sources":["../../../__tests__/stubs/token.stub.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC9B,SAAS,EAAE,UAAU,EAAE,mDAAmD;IAC1E,aAAa,EAAE,EAAE,EAAE,mDAAmD;IACtE,UAAU,EAAE,UAAU,EAAE,mDAAmD;IAC3E,QAAQ,EAAE,sDAAsD;IAChE,QAAQ,EAAE,sBAAsB;CACjC,CAAA;AAEY,QAAA,SAAS,GAAG;IACvB,YAAY,EAAE,ojDAAojD,EAAE,mDAAmD;IACvnD,UAAU,EAAE,GAAG,EAAE,mDAAmD;IACpE,kBAAkB,EAAE,IAAI,EAAE,mDAAmD;IAC7E,aAAa,EAAE,i3BAAi3B,EAAE,mDAAmD;IACr7B,UAAU,EAAE,QAAQ,EAAE,mDAAmD;IACzE,mBAAmB,EAAE,CAAC;IACtB,aAAa,EAAE,sCAAsC,EAAE,mDAAmD;IAC1G,KAAK,EAAE,EAAE;CACV,CAAA"}
@@ -1 +0,0 @@
1
- import 'jest-xml-matcher';
@@ -1,62 +0,0 @@
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("../../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
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../__tests__/tests/ATV/index.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4CAAmB;AACnB,0CAA8B;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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,15 +0,0 @@
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
@@ -1 +0,0 @@
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
@@ -1,28 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,15 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,27 +0,0 @@
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("../../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
@@ -1 +0,0 @@
1
- {"version":3,"file":"getToken.test.js","sourceRoot":"","sources":["../../../../__tests__/tests/services/getToken.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAAyB;AACzB,uDAAoE;AACpE,8EAA6C;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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,89 +0,0 @@
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', // eslint-disable-line
46
- client_secret: '', // eslint-disable-line
47
- grant_type: 'password', // eslint-disable-line
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