apacuana-sdk-core 0.10.0 → 0.12.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.
Files changed (58) hide show
  1. package/README.md +305 -286
  2. package/coverage/clover.xml +345 -248
  3. package/coverage/coverage-final.json +9 -7
  4. package/coverage/lcov-report/index.html +41 -26
  5. package/coverage/lcov-report/src/api/certs.js.html +162 -87
  6. package/coverage/lcov-report/src/api/faceLiveness.js.html +523 -0
  7. package/coverage/lcov-report/src/api/index.html +43 -28
  8. package/coverage/lcov-report/src/api/revocations.js.html +132 -90
  9. package/coverage/lcov-report/src/api/signatures.js.html +25 -253
  10. package/coverage/lcov-report/src/api/users.js.html +23 -14
  11. package/coverage/lcov-report/src/config/index.html +1 -1
  12. package/coverage/lcov-report/src/config/index.js.html +1 -1
  13. package/coverage/lcov-report/src/errors/index.html +1 -1
  14. package/coverage/lcov-report/src/errors/index.js.html +8 -8
  15. package/coverage/lcov-report/src/index.html +13 -13
  16. package/coverage/lcov-report/src/index.js.html +96 -12
  17. package/coverage/lcov-report/src/success/index.html +116 -0
  18. package/coverage/lcov-report/src/success/index.js.html +106 -0
  19. package/coverage/lcov-report/src/utils/constant.js.html +4 -4
  20. package/coverage/lcov-report/src/utils/helpers.js.html +1 -1
  21. package/coverage/lcov-report/src/utils/httpClient.js.html +1 -1
  22. package/coverage/lcov-report/src/utils/index.html +1 -1
  23. package/coverage/lcov.info +597 -414
  24. package/dist/api/certs.d.ts +9 -70
  25. package/dist/api/faceLiveness.d.ts +6 -0
  26. package/dist/api/revocations.d.ts +6 -42
  27. package/dist/api/signatures.d.ts +11 -153
  28. package/dist/api/users.d.ts +16 -6
  29. package/dist/index.d.ts +6 -0
  30. package/dist/index.js +513 -259
  31. package/dist/index.js.map +1 -1
  32. package/dist/index.mjs +513 -259
  33. package/dist/index.mjs.map +1 -1
  34. package/dist/success/index.d.ts +7 -0
  35. package/dist/types/certs.d.ts +97 -0
  36. package/dist/types/faceLiveness.d.ts +11 -0
  37. package/dist/types/revocations.d.ts +51 -0
  38. package/dist/types/signatures.d.ts +147 -0
  39. package/dist/types/users.d.ts +260 -0
  40. package/package.json +1 -1
  41. package/src/api/certs.js +74 -49
  42. package/src/api/faceLiveness.js +146 -0
  43. package/src/api/revocations.js +76 -62
  44. package/src/api/signatures.js +21 -97
  45. package/src/api/users.js +12 -9
  46. package/src/index.js +33 -5
  47. package/src/success/index.js +8 -0
  48. package/src/types/certs.js +56 -0
  49. package/src/types/faceLiveness.js +16 -0
  50. package/src/types/revocations.js +45 -0
  51. package/src/types/signatures.js +91 -0
  52. package/src/types/users.js +73 -0
  53. package/tests/api/certs.test.js +99 -6
  54. package/tests/api/faceLiveness.test.js +170 -0
  55. package/tests/api/revocations.test.js +35 -35
  56. package/tests/api/signatures.test.js +11 -5
  57. package/tests/api/users.test.js +3 -2
  58. package/tests/index.test.js +16 -8
@@ -521,135 +521,7 @@
521
521
  <a name='L456'></a><a href='#L456'>456</a>
522
522
  <a name='L457'></a><a href='#L457'>457</a>
523
523
  <a name='L458'></a><a href='#L458'>458</a>
524
- <a name='L459'></a><a href='#L459'>459</a>
525
- <a name='L460'></a><a href='#L460'>460</a>
526
- <a name='L461'></a><a href='#L461'>461</a>
527
- <a name='L462'></a><a href='#L462'>462</a>
528
- <a name='L463'></a><a href='#L463'>463</a>
529
- <a name='L464'></a><a href='#L464'>464</a>
530
- <a name='L465'></a><a href='#L465'>465</a>
531
- <a name='L466'></a><a href='#L466'>466</a>
532
- <a name='L467'></a><a href='#L467'>467</a>
533
- <a name='L468'></a><a href='#L468'>468</a>
534
- <a name='L469'></a><a href='#L469'>469</a>
535
- <a name='L470'></a><a href='#L470'>470</a>
536
- <a name='L471'></a><a href='#L471'>471</a>
537
- <a name='L472'></a><a href='#L472'>472</a>
538
- <a name='L473'></a><a href='#L473'>473</a>
539
- <a name='L474'></a><a href='#L474'>474</a>
540
- <a name='L475'></a><a href='#L475'>475</a>
541
- <a name='L476'></a><a href='#L476'>476</a>
542
- <a name='L477'></a><a href='#L477'>477</a>
543
- <a name='L478'></a><a href='#L478'>478</a>
544
- <a name='L479'></a><a href='#L479'>479</a>
545
- <a name='L480'></a><a href='#L480'>480</a>
546
- <a name='L481'></a><a href='#L481'>481</a>
547
- <a name='L482'></a><a href='#L482'>482</a>
548
- <a name='L483'></a><a href='#L483'>483</a>
549
- <a name='L484'></a><a href='#L484'>484</a>
550
- <a name='L485'></a><a href='#L485'>485</a>
551
- <a name='L486'></a><a href='#L486'>486</a>
552
- <a name='L487'></a><a href='#L487'>487</a>
553
- <a name='L488'></a><a href='#L488'>488</a>
554
- <a name='L489'></a><a href='#L489'>489</a>
555
- <a name='L490'></a><a href='#L490'>490</a>
556
- <a name='L491'></a><a href='#L491'>491</a>
557
- <a name='L492'></a><a href='#L492'>492</a>
558
- <a name='L493'></a><a href='#L493'>493</a>
559
- <a name='L494'></a><a href='#L494'>494</a>
560
- <a name='L495'></a><a href='#L495'>495</a>
561
- <a name='L496'></a><a href='#L496'>496</a>
562
- <a name='L497'></a><a href='#L497'>497</a>
563
- <a name='L498'></a><a href='#L498'>498</a>
564
- <a name='L499'></a><a href='#L499'>499</a>
565
- <a name='L500'></a><a href='#L500'>500</a>
566
- <a name='L501'></a><a href='#L501'>501</a>
567
- <a name='L502'></a><a href='#L502'>502</a>
568
- <a name='L503'></a><a href='#L503'>503</a>
569
- <a name='L504'></a><a href='#L504'>504</a>
570
- <a name='L505'></a><a href='#L505'>505</a>
571
- <a name='L506'></a><a href='#L506'>506</a>
572
- <a name='L507'></a><a href='#L507'>507</a>
573
- <a name='L508'></a><a href='#L508'>508</a>
574
- <a name='L509'></a><a href='#L509'>509</a>
575
- <a name='L510'></a><a href='#L510'>510</a>
576
- <a name='L511'></a><a href='#L511'>511</a>
577
- <a name='L512'></a><a href='#L512'>512</a>
578
- <a name='L513'></a><a href='#L513'>513</a>
579
- <a name='L514'></a><a href='#L514'>514</a>
580
- <a name='L515'></a><a href='#L515'>515</a>
581
- <a name='L516'></a><a href='#L516'>516</a>
582
- <a name='L517'></a><a href='#L517'>517</a>
583
- <a name='L518'></a><a href='#L518'>518</a>
584
- <a name='L519'></a><a href='#L519'>519</a>
585
- <a name='L520'></a><a href='#L520'>520</a>
586
- <a name='L521'></a><a href='#L521'>521</a>
587
- <a name='L522'></a><a href='#L522'>522</a>
588
- <a name='L523'></a><a href='#L523'>523</a>
589
- <a name='L524'></a><a href='#L524'>524</a>
590
- <a name='L525'></a><a href='#L525'>525</a>
591
- <a name='L526'></a><a href='#L526'>526</a>
592
- <a name='L527'></a><a href='#L527'>527</a>
593
- <a name='L528'></a><a href='#L528'>528</a>
594
- <a name='L529'></a><a href='#L529'>529</a>
595
- <a name='L530'></a><a href='#L530'>530</a>
596
- <a name='L531'></a><a href='#L531'>531</a>
597
- <a name='L532'></a><a href='#L532'>532</a>
598
- <a name='L533'></a><a href='#L533'>533</a>
599
- <a name='L534'></a><a href='#L534'>534</a>
600
- <a name='L535'></a><a href='#L535'>535</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-neutral">&nbsp;</span>
602
- <span class="cline-any cline-neutral">&nbsp;</span>
603
- <span class="cline-any cline-neutral">&nbsp;</span>
604
- <span class="cline-any cline-neutral">&nbsp;</span>
605
- <span class="cline-any cline-neutral">&nbsp;</span>
606
- <span class="cline-any cline-neutral">&nbsp;</span>
607
- <span class="cline-any cline-neutral">&nbsp;</span>
608
- <span class="cline-any cline-neutral">&nbsp;</span>
609
- <span class="cline-any cline-neutral">&nbsp;</span>
610
- <span class="cline-any cline-neutral">&nbsp;</span>
611
- <span class="cline-any cline-neutral">&nbsp;</span>
612
- <span class="cline-any cline-neutral">&nbsp;</span>
613
- <span class="cline-any cline-neutral">&nbsp;</span>
614
- <span class="cline-any cline-neutral">&nbsp;</span>
615
- <span class="cline-any cline-neutral">&nbsp;</span>
616
- <span class="cline-any cline-neutral">&nbsp;</span>
617
- <span class="cline-any cline-neutral">&nbsp;</span>
618
- <span class="cline-any cline-neutral">&nbsp;</span>
619
- <span class="cline-any cline-neutral">&nbsp;</span>
620
- <span class="cline-any cline-neutral">&nbsp;</span>
621
- <span class="cline-any cline-neutral">&nbsp;</span>
622
- <span class="cline-any cline-neutral">&nbsp;</span>
623
- <span class="cline-any cline-neutral">&nbsp;</span>
624
- <span class="cline-any cline-neutral">&nbsp;</span>
625
- <span class="cline-any cline-neutral">&nbsp;</span>
626
- <span class="cline-any cline-neutral">&nbsp;</span>
627
- <span class="cline-any cline-neutral">&nbsp;</span>
628
- <span class="cline-any cline-neutral">&nbsp;</span>
629
- <span class="cline-any cline-neutral">&nbsp;</span>
630
- <span class="cline-any cline-neutral">&nbsp;</span>
631
- <span class="cline-any cline-neutral">&nbsp;</span>
632
- <span class="cline-any cline-neutral">&nbsp;</span>
633
- <span class="cline-any cline-neutral">&nbsp;</span>
634
- <span class="cline-any cline-neutral">&nbsp;</span>
635
- <span class="cline-any cline-neutral">&nbsp;</span>
636
- <span class="cline-any cline-neutral">&nbsp;</span>
637
- <span class="cline-any cline-neutral">&nbsp;</span>
638
- <span class="cline-any cline-neutral">&nbsp;</span>
639
- <span class="cline-any cline-neutral">&nbsp;</span>
640
- <span class="cline-any cline-neutral">&nbsp;</span>
641
- <span class="cline-any cline-neutral">&nbsp;</span>
642
- <span class="cline-any cline-neutral">&nbsp;</span>
643
- <span class="cline-any cline-neutral">&nbsp;</span>
644
- <span class="cline-any cline-neutral">&nbsp;</span>
645
- <span class="cline-any cline-neutral">&nbsp;</span>
646
- <span class="cline-any cline-neutral">&nbsp;</span>
647
- <span class="cline-any cline-neutral">&nbsp;</span>
648
- <span class="cline-any cline-neutral">&nbsp;</span>
649
- <span class="cline-any cline-neutral">&nbsp;</span>
650
- <span class="cline-any cline-neutral">&nbsp;</span>
651
- <span class="cline-any cline-neutral">&nbsp;</span>
652
- <span class="cline-any cline-neutral">&nbsp;</span>
524
+ <a name='L459'></a><a href='#L459'>459</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
653
525
  <span class="cline-any cline-neutral">&nbsp;</span>
654
526
  <span class="cline-any cline-neutral">&nbsp;</span>
655
527
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -756,6 +628,8 @@
756
628
  <span class="cline-any cline-yes">1x</span>
757
629
  <span class="cline-any cline-yes">1x</span>
758
630
  <span class="cline-any cline-neutral">&nbsp;</span>
631
+ <span class="cline-any cline-neutral">&nbsp;</span>
632
+ <span class="cline-any cline-neutral">&nbsp;</span>
759
633
  <span class="cline-any cline-no">&nbsp;</span>
760
634
  <span class="cline-any cline-no">&nbsp;</span>
761
635
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -807,7 +681,6 @@
807
681
  <span class="cline-any cline-neutral">&nbsp;</span>
808
682
  <span class="cline-any cline-neutral">&nbsp;</span>
809
683
  <span class="cline-any cline-neutral">&nbsp;</span>
810
- <span class="cline-any cline-neutral">&nbsp;</span>
811
684
  <span class="cline-any cline-no">&nbsp;</span>
812
685
  <span class="cline-any cline-no">&nbsp;</span>
813
686
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -957,31 +830,6 @@
957
830
  <span class="cline-any cline-neutral">&nbsp;</span>
958
831
  <span class="cline-any cline-neutral">&nbsp;</span>
959
832
  <span class="cline-any cline-neutral">&nbsp;</span>
960
- <span class="cline-any cline-neutral">&nbsp;</span>
961
- <span class="cline-any cline-neutral">&nbsp;</span>
962
- <span class="cline-any cline-neutral">&nbsp;</span>
963
- <span class="cline-any cline-neutral">&nbsp;</span>
964
- <span class="cline-any cline-neutral">&nbsp;</span>
965
- <span class="cline-any cline-neutral">&nbsp;</span>
966
- <span class="cline-any cline-neutral">&nbsp;</span>
967
- <span class="cline-any cline-neutral">&nbsp;</span>
968
- <span class="cline-any cline-neutral">&nbsp;</span>
969
- <span class="cline-any cline-neutral">&nbsp;</span>
970
- <span class="cline-any cline-neutral">&nbsp;</span>
971
- <span class="cline-any cline-neutral">&nbsp;</span>
972
- <span class="cline-any cline-neutral">&nbsp;</span>
973
- <span class="cline-any cline-neutral">&nbsp;</span>
974
- <span class="cline-any cline-neutral">&nbsp;</span>
975
- <span class="cline-any cline-neutral">&nbsp;</span>
976
- <span class="cline-any cline-neutral">&nbsp;</span>
977
- <span class="cline-any cline-neutral">&nbsp;</span>
978
- <span class="cline-any cline-neutral">&nbsp;</span>
979
- <span class="cline-any cline-neutral">&nbsp;</span>
980
- <span class="cline-any cline-neutral">&nbsp;</span>
981
- <span class="cline-any cline-neutral">&nbsp;</span>
982
- <span class="cline-any cline-neutral">&nbsp;</span>
983
- <span class="cline-any cline-neutral">&nbsp;</span>
984
- <span class="cline-any cline-neutral">&nbsp;</span>
985
833
  <span class="cline-any cline-yes">2x</span>
986
834
  <span class="cline-any cline-yes">4x</span>
987
835
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1135,72 +983,20 @@
1135
983
  import { getConfig } from "../config/index";
1136
984
  import { httpRequest } from "../utils/httpClient";
1137
985
  import { ApacuanaAPIError } from "../errors";
986
+ import ApacuanaSuccess from "../success";
1138
987
  import helpers from "../utils/helpers";
1139
988
  import { INTEGRATION_TYPE } from "../utils/constant";
1140
989
  &nbsp;
1141
- // =================================================================
1142
- // Type Definitions
1143
- // =================================================================
1144
- &nbsp;
1145
- /**
1146
- * Define la estructura de un objeto Firmante.
1147
- * @typedef {object} Signer
1148
- * @property {string} name - Nombre completo del firmante.
1149
- * @property {string} email - Correo electrónico del firmante.
1150
- * @property {string} document - Documento de identidad del firmante.
1151
- */
1152
- &nbsp;
1153
- /**
1154
- * Define la estructura de datos para añadir un firmante.
1155
- * @typedef {object} SignerData
1156
- * @property {string} docId - Identificador único del documento.
1157
- */
1158
- &nbsp;
1159
- /**
1160
- * Define la estructura de la respuesta al añadir un firmante.
1161
- * @typedef {object} AddSignerResponse
1162
- * @property {string} signer - Identificador de confirmación del firmante añadido.
1163
- * @property {boolean} success - Indica si la operación fue exitosa.
1164
- */
1165
- &nbsp;
1166
- /**
1167
- * Define la estructura de datos para obtener el digest de un documento.
1168
- * @typedef {object} GetDigestData
1169
- * @property {string} cert - Certificado del firmante en formato base64.
1170
- * @property {string} signatureId - Identificador único del proceso de firma.
1171
- */
1172
- &nbsp;
1173
- /**
1174
- * Define la estructura de la respuesta al obtener el digest.
1175
- * @typedef {object} GetDigestResponse
1176
- * @property {string} digest - El digest del documento que se va a firmar.
1177
- * @property {boolean} success - Indica si la operación fue exitosa.
1178
- */
1179
- &nbsp;
1180
- /**
1181
- * Define la estructura de los parámetros para obtener documentos.
1182
- * @typedef {object} GetDocsParams
1183
- * @property {number} page - Número de página para la paginación.
1184
- * @property {number} size - Cantidad de registros por página.
1185
- * @property {string} [status] - (Opcional) Estado para filtrar los documentos.
1186
- */
1187
- &nbsp;
1188
- /**
1189
- * Define la estructura de la respuesta al obtener documentos.
1190
- * @typedef {object} GetDocsResponse
1191
- * @property {number} totalRecords - El número total de registros encontrados.
1192
- * @property {Array&lt;object&gt;} records - Un arreglo con los registros de los documentos.
1193
- * @property {boolean} success - Indica si la operación fue exitosa.
1194
- */
1195
- &nbsp;
1196
- /**
1197
- * @typedef {object} SignDocumentData
1198
- * @property {object} signature - Objeto con información de la firma.
1199
- * @property {string} signature.id - ID de la firma.
1200
- * @property {Array&lt;object&gt;} signature.positions - Posiciones de la firma.
1201
- * @property {string} cert - Certificado en base64.
1202
- * @property {string} signedDigest - Digest firmado.
1203
- */
990
+ /** @typedef {import("../types/signatures").Signer} Signer */
991
+ /** @typedef {import("../types/signatures").SignerData} SignerData */
992
+ /** @typedef {import("../types/signatures").AddSignerResponse} AddSignerResponse */
993
+ /** @typedef {import("../types/signatures").GetDigestData} GetDigestData */
994
+ /** @typedef {import("../types/signatures").GetDigestResponse} GetDigestResponse */
995
+ /** @typedef {import("../types/signatures").GetDocsParams} GetDocsParams */
996
+ /** @typedef {import("../types/signatures").GetDocsResponse} GetDocsResponse */
997
+ /** @typedef {import("../types/signatures").SignDocumentData} SignDocumentData */
998
+ /** @typedef {import("../types/signatures").SignaturePosition} SignaturePosition */
999
+ /** @typedef {import("../types/signatures").OnboardingSignerData} OnboardingSignerData */
1204
1000
  &nbsp;
1205
1001
  // =================================================================
1206
1002
  // Internal Functions
@@ -1228,7 +1024,7 @@ const signDocumentOnBoarding = async (signData) =&gt; {
1228
1024
  signBody,
1229
1025
  "PUT"
1230
1026
  );
1231
- return response;
1027
+ return new ApacuanaSuccess(response);
1232
1028
  } catch (error) {
1233
1029
  <span class="cstat-no" title="statement not covered" > if (error instanceof ApacuanaAPIError) {</span>
1234
1030
  <span class="cstat-no" title="statement not covered" > throw error;</span>
@@ -1265,7 +1061,7 @@ const getDigestToSignOnBoarding = async (signData) =&gt; {
1265
1061
  );
1266
1062
  }
1267
1063
  &nbsp;
1268
- return { digest, success: true };
1064
+ return new ApacuanaSuccess({ digest });
1269
1065
  } catch (error) {
1270
1066
  <span class="missing-if-branch" title="else path not taken" >E</span>if (error.name === "ApacuanaAPIError") {
1271
1067
  throw error;
@@ -1288,7 +1084,9 @@ const addSignerOnBoarding = async (signerData) =&gt; {
1288
1084
  helpers.validateOnBoardingSignerData(signerData);
1289
1085
  try {
1290
1086
  await httpRequest("services/api/documents/signing", signerData, "POST");
1291
- return { signer: signerData.typedoc + signerData.doc, success: true };
1087
+ return new ApacuanaSuccess({
1088
+ signer: signerData.typedoc + signerData.doc,
1089
+ });
1292
1090
  } catch (error) {
1293
1091
  <span class="cstat-no" title="statement not covered" > if (error instanceof ApacuanaAPIError) {</span>
1294
1092
  <span class="cstat-no" title="statement not covered" > throw error;</span>
@@ -1336,11 +1134,10 @@ const getDocsOnBoarding = async (data) =&gt; {
1336
1134
  &nbsp;
1337
1135
  const apiUrl = `services/api/documents/listcustomer?${params.toString()}`;
1338
1136
  const response = await httpRequest(apiUrl, {}, "GET");
1339
- return {
1137
+ return new ApacuanaSuccess({
1340
1138
  totalRecords: response.numofrecords,
1341
1139
  records: response.records,
1342
- success: true,
1343
- };
1140
+ });
1344
1141
  } catch (error) {
1345
1142
  <span class="cstat-no" title="statement not covered" > if (error.name === "ApacuanaAPIError") {</span>
1346
1143
  <span class="cstat-no" title="statement not covered" > throw error;</span>
@@ -1358,7 +1155,7 @@ const uploadSignatureVariantOnBoarding = async ({ file }) =&gt; {
1358
1155
  { file },
1359
1156
  "POST"
1360
1157
  );
1361
- return { ...response, success: true };
1158
+ return new ApacuanaSuccess(response);
1362
1159
  } catch (error) {
1363
1160
  <span class="cstat-no" title="statement not covered" > if (error instanceof ApacuanaAPIError) {</span>
1364
1161
  <span class="cstat-no" title="statement not covered" > throw error;</span>
@@ -1385,7 +1182,7 @@ const getSignatureVariantOnBoarding = async () =&gt; {
1385
1182
  {},
1386
1183
  "GET"
1387
1184
  );
1388
- return { ...response, success: true };
1185
+ return new ApacuanaSuccess(response);
1389
1186
  } catch (error) {
1390
1187
  <span class="cstat-no" title="statement not covered" > if (error instanceof ApacuanaAPIError) {</span>
1391
1188
  <span class="cstat-no" title="statement not covered" > throw error;</span>
@@ -1411,7 +1208,7 @@ const deleteSignatureVariantOnBoarding = async () =&gt; {
1411
1208
  {},
1412
1209
  "DELETE"
1413
1210
  );
1414
- return { ...response, success: true };
1211
+ return new ApacuanaSuccess(response);
1415
1212
  } catch (error) {
1416
1213
  <span class="cstat-no" title="statement not covered" > if (error instanceof ApacuanaAPIError) {</span>
1417
1214
  <span class="cstat-no" title="statement not covered" > throw error;</span>
@@ -1491,31 +1288,6 @@ export const getDigest = async (signData) =&gt; {
1491
1288
  * @returns {Promise&lt;AddSignerResponse&gt;} Una promesa que resuelve a un objeto con el resultado de la operación.
1492
1289
  * @throws {ApacuanaAPIError} Si los datos del firmante son inválidos, la llamada a la API falla, o el tipo de integración no es soportado.
1493
1290
  */
1494
- /**
1495
- * @typedef {object} SignaturePosition
1496
- * @property {number} page - The page number for the signature.
1497
- * @property {number} x - The x-coordinate for the signature's position (from 0 to 1).
1498
- * @property {number} y - The y-coordinate for the signature's position (from 0 to 1).
1499
- */
1500
- &nbsp;
1501
- /**
1502
- * @typedef {object} OnboardingSignerData
1503
- * @property {string} name - The name of the document.
1504
- * @property {string} reference - An external reference for the document.
1505
- * @property {string} typedoc - The type of document of the signer (e.g., "V", "E", "J").
1506
- * @property {string} doc - The document number of the signer.
1507
- * @property {SignaturePosition[]} signature - An array of signature positions.
1508
- */
1509
- &nbsp;
1510
- /**
1511
- * Adds a new signer to the signature process.
1512
- * This function acts as a dispatcher, delegating to the appropriate implementation
1513
- * based on the configured integration type.
1514
- *
1515
- * @param {OnboardingSignerData | object} signerData - The signer's data. The structure depends on the integration type.
1516
- * @returns {Promise&lt;object&gt;} The result from the API.
1517
- * @throws {ApacuanaAPIError} If signerData is invalid or if the integration type is not supported.
1518
- */
1519
1291
  export const addSigner = async (signerData) =&gt; {
1520
1292
  if (
1521
1293
  !signerData ||
@@ -1672,7 +1444,7 @@ export const deleteSignatureVariant = async () =&gt; {
1672
1444
  <div class='footer quiet pad2 space-top1 center small'>
1673
1445
  Code coverage generated by
1674
1446
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1675
- at 2025-09-05T15:19:06.305Z
1447
+ at 2025-09-15T18:35:33.013Z
1676
1448
  </div>
1677
1449
  <script src="../../prettify.js"></script>
1678
1450
  <script>
@@ -132,7 +132,16 @@
132
132
  <a name='L67'></a><a href='#L67'>67</a>
133
133
  <a name='L68'></a><a href='#L68'>68</a>
134
134
  <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
139
+ <span class="cline-any cline-neutral">&nbsp;</span>
140
+ <span class="cline-any cline-neutral">&nbsp;</span>
141
+ <span class="cline-any cline-neutral">&nbsp;</span>
142
+ <span class="cline-any cline-neutral">&nbsp;</span>
143
+ <span class="cline-any cline-neutral">&nbsp;</span>
144
+ <span class="cline-any cline-neutral">&nbsp;</span>
136
145
  <span class="cline-any cline-neutral">&nbsp;</span>
137
146
  <span class="cline-any cline-neutral">&nbsp;</span>
138
147
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -188,7 +197,6 @@
188
197
  <span class="cline-any cline-neutral">&nbsp;</span>
189
198
  <span class="cline-any cline-neutral">&nbsp;</span>
190
199
  <span class="cline-any cline-neutral">&nbsp;</span>
191
- <span class="cline-any cline-neutral">&nbsp;</span>
192
200
  <span class="cline-any cline-yes">3x</span>
193
201
  <span class="cline-any cline-yes">2x</span>
194
202
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -199,17 +207,21 @@
199
207
  <span class="cline-any cline-neutral">&nbsp;</span>
200
208
  <span class="cline-any cline-neutral">&nbsp;</span>
201
209
  <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-neutral">&nbsp;</span>
203
- <span class="cline-any cline-neutral">&nbsp;</span>
204
210
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { httpRequest } from "../utils/httpClient";
205
211
  import { ApacuanaAPIError } from "../errors/index";
206
212
  import { getConfig } from "../config/index";
213
+ import ApacuanaSuccess from "../success";
207
214
  &nbsp;
208
215
  /**
209
- * @typedef {object} GetCustomerResponse
216
+ * @typedef {object} GetCustomerData
210
217
  * @property {string} token - El token de sesión del usuario.
211
218
  * @property {object} userData - Los datos del usuario obtenidos.
212
- * @property {boolean} success - Indica si la operación fue exitosa.
219
+ */
220
+ &nbsp;
221
+ /**
222
+ * @typedef {object} GetCustomerResponse
223
+ * @property {true} success - Indica que la operación fue exitosa.
224
+ * @property {GetCustomerData} data - El payload de la respuesta.
213
225
  */
214
226
  &nbsp;
215
227
  /**
@@ -217,7 +229,7 @@ import { getConfig } from "../config/index";
217
229
  * Este método es útil para endpoints que requieren datos en el cuerpo de la petición
218
230
  * para buscar un usuario, como un ID de sesión o un token de acceso.
219
231
  *
220
- * @returns {Promise&lt;GetCustomerResponse&gt;} Objeto con el token de sesión, los datos del usuario y un indicador de éxito.
232
+ * @returns {Promise&lt;GetCustomerResponse&gt;} Una promesa que resuelve a un objeto con la respuesta exitosa.
221
233
  * @throws {Error} Si los parámetros de entrada son inválidos.
222
234
  * @throws {ApacuanaAPIError} Si ocurre un error en la API de Apacuana.
223
235
  */
@@ -252,19 +264,16 @@ const getCustomer = async () =&gt; {
252
264
  );
253
265
  }
254
266
  &nbsp;
255
- return {
267
+ return new ApacuanaSuccess({
256
268
  token: response.sessionid,
257
269
  userData: response.entry,
258
- success: true,
259
- };
270
+ });
260
271
  } catch (error) {
261
272
  if (error instanceof ApacuanaAPIError) {
262
273
  throw error;
263
274
  }
264
275
  throw new ApacuanaAPIError(
265
- `Unexpected failure getting token: ${
266
- error.message || <span class="branch-1 cbranch-no" title="branch not covered" >"Unknown error"</span>
267
- }`
276
+ `Unexpected failure getting token: ${error.message || <span class="branch-1 cbranch-no" title="branch not covered" >"Unknown error"}</span>`
268
277
  );
269
278
  }
270
279
  };
@@ -277,7 +286,7 @@ export default getCustomer;
277
286
  <div class='footer quiet pad2 space-top1 center small'>
278
287
  Code coverage generated by
279
288
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
280
- at 2025-09-05T15:19:06.305Z
289
+ at 2025-09-15T18:35:33.013Z
281
290
  </div>
282
291
  <script src="../../prettify.js"></script>
283
292
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2025-09-05T15:19:06.305Z
104
+ at 2025-09-15T18:35:33.013Z
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -241,7 +241,7 @@ export const close = <span class="fstat-no" title="function not covered" >()</sp
241
241
  <div class='footer quiet pad2 space-top1 center small'>
242
242
  Code coverage generated by
243
243
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
244
- at 2025-09-05T15:19:06.305Z
244
+ at 2025-09-15T18:35:33.013Z
245
245
  </div>
246
246
  <script src="../../prettify.js"></script>
247
247
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2025-09-05T15:19:06.305Z
104
+ at 2025-09-15T18:35:33.013Z
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -91,15 +91,15 @@
91
91
  <span class="cline-any cline-neutral">&nbsp;</span>
92
92
  <span class="cline-any cline-neutral">&nbsp;</span>
93
93
  <span class="cline-any cline-neutral">&nbsp;</span>
94
- <span class="cline-any cline-yes">61x</span>
95
- <span class="cline-any cline-yes">61x</span>
96
- <span class="cline-any cline-yes">61x</span>
97
- <span class="cline-any cline-yes">61x</span>
98
- <span class="cline-any cline-yes">61x</span>
94
+ <span class="cline-any cline-yes">86x</span>
95
+ <span class="cline-any cline-yes">86x</span>
96
+ <span class="cline-any cline-yes">86x</span>
97
+ <span class="cline-any cline-yes">86x</span>
98
+ <span class="cline-any cline-yes">86x</span>
99
99
  <span class="cline-any cline-neutral">&nbsp;</span>
100
100
  <span class="cline-any cline-neutral">&nbsp;</span>
101
- <span class="cline-any cline-yes">61x</span>
102
- <span class="cline-any cline-yes">61x</span>
101
+ <span class="cline-any cline-yes">86x</span>
102
+ <span class="cline-any cline-yes">86x</span>
103
103
  <span class="cline-any cline-neutral">&nbsp;</span>
104
104
  <span class="cline-any cline-neutral">&nbsp;</span>
105
105
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -133,7 +133,7 @@ export default ApacuanaAPIError;
133
133
  <div class='footer quiet pad2 space-top1 center small'>
134
134
  Code coverage generated by
135
135
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
136
- at 2025-09-05T15:19:06.305Z
136
+ at 2025-09-15T18:35:33.013Z
137
137
  </div>
138
138
  <script src="../../prettify.js"></script>
139
139
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">85.71% </span>
26
+ <span class="strong">82.35% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>12/14</span>
28
+ <span class='fraction'>14/17</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">50% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>1/2</span>
35
+ <span class='fraction'>3/6</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">85.71% </span>
47
+ <span class="strong">82.35% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>12/14</span>
49
+ <span class='fraction'>14/17</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
83
- <td data-value="85.71" class="pic high">
84
- <div class="chart"><div class="cover-fill" style="width: 85%"></div><div class="cover-empty" style="width: 15%"></div></div>
83
+ <td data-value="82.35" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 82%"></div><div class="cover-empty" style="width: 18%"></div></div>
85
85
  </td>
86
- <td data-value="85.71" class="pct high">85.71%</td>
87
- <td data-value="14" class="abs high">12/14</td>
86
+ <td data-value="82.35" class="pct high">82.35%</td>
87
+ <td data-value="17" class="abs high">14/17</td>
88
88
  <td data-value="50" class="pct medium">50%</td>
89
- <td data-value="2" class="abs medium">1/2</td>
89
+ <td data-value="6" class="abs medium">3/6</td>
90
90
  <td data-value="50" class="pct medium">50%</td>
91
91
  <td data-value="2" class="abs medium">1/2</td>
92
- <td data-value="85.71" class="pct high">85.71%</td>
93
- <td data-value="14" class="abs high">12/14</td>
92
+ <td data-value="82.35" class="pct high">82.35%</td>
93
+ <td data-value="17" class="abs high">14/17</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2025-09-05T15:19:06.305Z
104
+ at 2025-09-15T18:35:33.013Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>