apacuana-sdk-core 0.13.0 → 0.14.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 (44) hide show
  1. package/coverage/clover.xml +263 -206
  2. package/coverage/coverage-final.json +6 -6
  3. package/coverage/lcov-report/index.html +36 -36
  4. package/coverage/lcov-report/src/api/certs.js.html +14 -8
  5. package/coverage/lcov-report/src/api/faceLiveness.js.html +1 -1
  6. package/coverage/lcov-report/src/api/index.html +25 -25
  7. package/coverage/lcov-report/src/api/revocations.js.html +2 -2
  8. package/coverage/lcov-report/src/api/signatures.js.html +1 -1
  9. package/coverage/lcov-report/src/api/users.js.html +160 -13
  10. package/coverage/lcov-report/src/config/index.html +1 -1
  11. package/coverage/lcov-report/src/config/index.js.html +1 -1
  12. package/coverage/lcov-report/src/errors/index.html +1 -1
  13. package/coverage/lcov-report/src/errors/index.js.html +1 -1
  14. package/coverage/lcov-report/src/index.html +21 -21
  15. package/coverage/lcov-report/src/index.js.html +278 -59
  16. package/coverage/lcov-report/src/success/index.html +1 -1
  17. package/coverage/lcov-report/src/success/index.js.html +1 -1
  18. package/coverage/lcov-report/src/utils/constant.js.html +115 -4
  19. package/coverage/lcov-report/src/utils/helpers.js.html +16 -13
  20. package/coverage/lcov-report/src/utils/httpClient.js.html +4 -7
  21. package/coverage/lcov-report/src/utils/index.html +12 -12
  22. package/coverage/lcov.info +504 -387
  23. package/dist/api/users.d.ts +27 -21
  24. package/dist/index.d.ts +19 -40
  25. package/dist/index.js +265 -118
  26. package/dist/index.js.map +1 -1
  27. package/dist/index.mjs +265 -118
  28. package/dist/index.mjs.map +1 -1
  29. package/dist/types/certs.d.ts +20 -34
  30. package/dist/utils/constant.d.ts +31 -0
  31. package/dist/utils/helpers.d.ts +1 -1
  32. package/package.json +1 -1
  33. package/src/api/certs.js +4 -2
  34. package/src/api/revocations.js +1 -1
  35. package/src/api/users.js +51 -2
  36. package/src/index.js +114 -41
  37. package/src/types/certs.js +36 -25
  38. package/src/utils/constant.js +37 -0
  39. package/src/utils/helpers.js +5 -4
  40. package/src/utils/httpClient.js +1 -2
  41. package/tests/api/certs.test.js +11 -3
  42. package/tests/api/revocations.test.js +1 -1
  43. package/tests/api/users.test.js +1 -1
  44. package/tests/index.test.js +3 -2
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">62.74% </span>
26
+ <span class="strong">57.24% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>320/510</span>
28
+ <span class='fraction'>324/566</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">36.41% </span>
33
+ <span class="strong">34.53% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>134/368</span>
35
+ <span class='fraction'>134/388</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">65.33% </span>
40
+ <span class="strong">51.57% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>49/75</span>
42
+ <span class='fraction'>49/95</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">63.24% </span>
47
+ <span class="strong">57.54% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>320/506</span>
49
+ <span class='fraction'>324/563</span>
50
50
  </div>
51
51
 
52
52
 
@@ -79,33 +79,33 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
- <td class="file high" data-value="src"><a href="src/index.html">src</a></td>
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>
82
+ <td class="file low" data-value="src"><a href="src/index.html">src</a></td>
83
+ <td data-value="26.31" class="pic low">
84
+ <div class="chart"><div class="cover-fill" style="width: 26%"></div><div class="cover-empty" style="width: 74%"></div></div>
85
85
  </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
- <td data-value="50" class="pct medium">50%</td>
89
- <td data-value="6" class="abs medium">3/6</td>
90
- <td data-value="50" class="pct medium">50%</td>
91
- <td data-value="2" class="abs medium">1/2</td>
92
- <td data-value="82.35" class="pct high">82.35%</td>
93
- <td data-value="17" class="abs high">14/17</td>
86
+ <td data-value="26.31" class="pct low">26.31%</td>
87
+ <td data-value="57" class="abs low">15/57</td>
88
+ <td data-value="20" class="pct low">20%</td>
89
+ <td data-value="15" class="abs low">3/15</td>
90
+ <td data-value="5" class="pct low">5%</td>
91
+ <td data-value="20" class="abs low">1/20</td>
92
+ <td data-value="26.31" class="pct low">26.31%</td>
93
+ <td data-value="57" class="abs low">15/57</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
97
97
  <td class="file high" data-value="src/api"><a href="src/api/index.html">src/api</a></td>
98
- <td data-value="88.67" class="pic high">
99
- <div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
98
+ <td data-value="85.18" class="pic high">
99
+ <div class="chart"><div class="cover-fill" style="width: 85%"></div><div class="cover-empty" style="width: 15%"></div></div>
100
100
  </td>
101
- <td data-value="88.67" class="pct high">88.67%</td>
102
- <td data-value="309" class="abs high">274/309</td>
103
- <td data-value="77.43" class="pct medium">77.43%</td>
104
- <td data-value="164" class="abs medium">127/164</td>
105
- <td data-value="97.87" class="pct high">97.87%</td>
106
- <td data-value="47" class="abs high">46/47</td>
107
- <td data-value="88.67" class="pct high">88.67%</td>
108
- <td data-value="309" class="abs high">274/309</td>
101
+ <td data-value="85.18" class="pct high">85.18%</td>
102
+ <td data-value="324" class="abs high">276/324</td>
103
+ <td data-value="72.98" class="pct medium">72.98%</td>
104
+ <td data-value="174" class="abs medium">127/174</td>
105
+ <td data-value="93.87" class="pct high">93.87%</td>
106
+ <td data-value="49" class="abs high">46/49</td>
107
+ <td data-value="85.18" class="pct high">85.18%</td>
108
+ <td data-value="324" class="abs high">276/324</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
@@ -155,17 +155,17 @@
155
155
 
156
156
  <tr>
157
157
  <td class="file low" data-value="src/utils"><a href="src/utils/index.html">src/utils</a></td>
158
- <td data-value="10" class="pic low">
158
+ <td data-value="10.55" class="pic low">
159
159
  <div class="chart"><div class="cover-fill" style="width: 10%"></div><div class="cover-empty" style="width: 90%"></div></div>
160
160
  </td>
161
- <td data-value="10" class="pct low">10%</td>
162
- <td data-value="160" class="abs low">16/160</td>
161
+ <td data-value="10.55" class="pct low">10.55%</td>
162
+ <td data-value="161" class="abs low">17/161</td>
163
163
  <td data-value="0" class="pct low">0%</td>
164
- <td data-value="184" class="abs low">0/184</td>
164
+ <td data-value="185" class="abs low">0/185</td>
165
165
  <td data-value="0" class="pct low">0%</td>
166
166
  <td data-value="21" class="abs low">0/21</td>
167
- <td data-value="10.19" class="pct low">10.19%</td>
168
- <td data-value="157" class="abs low">16/157</td>
167
+ <td data-value="10.69" class="pct low">10.69%</td>
168
+ <td data-value="159" class="abs low">17/159</td>
169
169
  </tr>
170
170
 
171
171
  </tbody>
@@ -176,7 +176,7 @@
176
176
  <div class='footer quiet pad2 space-top1 center small'>
177
177
  Code coverage generated by
178
178
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
179
- at 2025-09-19T18:21:42.426Z
179
+ at 2025-09-23T13:45:27.346Z
180
180
  </div>
181
181
  <script src="prettify.js"></script>
182
182
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">89.61% </span>
26
+ <span class="strong">89.74% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>69/77</span>
28
+ <span class='fraction'>70/78</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">89.61% </span>
47
+ <span class="strong">89.74% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>69/77</span>
49
+ <span class='fraction'>70/78</span>
50
50
  </div>
51
51
 
52
52
 
@@ -316,7 +316,9 @@
316
316
  <a name='L251'></a><a href='#L251'>251</a>
317
317
  <a name='L252'></a><a href='#L252'>252</a>
318
318
  <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
320
322
  <span class="cline-any cline-neutral">&nbsp;</span>
321
323
  <span class="cline-any cline-neutral">&nbsp;</span>
322
324
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -408,6 +410,8 @@
408
410
  <span class="cline-any cline-neutral">&nbsp;</span>
409
411
  <span class="cline-any cline-yes">1x</span>
410
412
  <span class="cline-any cline-neutral">&nbsp;</span>
413
+ <span class="cline-any cline-yes">1x</span>
414
+ <span class="cline-any cline-neutral">&nbsp;</span>
411
415
  <span class="cline-any cline-neutral">&nbsp;</span>
412
416
  <span class="cline-any cline-yes">2x</span>
413
417
  <span class="cline-any cline-yes">1x</span>
@@ -585,7 +589,7 @@ import { httpRequest } from "../utils/httpClient";
585
589
  import helpers from "../utils/helpers";
586
590
  import { ApacuanaAPIError } from "../errors";
587
591
  import ApacuanaSuccess from "../success";
588
- import { INTEGRATION_TYPE } from "../utils/constant";
592
+ import { INTEGRATION_TYPE, PARSE_STATUS } from "../utils/constant";
589
593
  &nbsp;
590
594
  /**
591
595
  * @param {EncryptedCSRObject} encryptedCSR
@@ -659,7 +663,9 @@ export const getCertStatus = (isCertificateInDevice = <span class="branch-0 cbra
659
663
  config.userData,
660
664
  isCertificateInDevice
661
665
  );
662
- return new ApacuanaSuccess({ status });
666
+ const parseStatus = PARSE_STATUS[status];
667
+ &nbsp;
668
+ return new ApacuanaSuccess({ status: parseStatus });
663
669
  };
664
670
  &nbsp;
665
671
  const getCertTypesOnBoarding = async () =&gt; {
@@ -829,7 +835,7 @@ export const requestCertificate = async (params) =&gt; {
829
835
  <div class='footer quiet pad2 space-top1 center small'>
830
836
  Code coverage generated by
831
837
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
832
- at 2025-09-19T18:21:42.426Z
838
+ at 2025-09-23T13:45:27.346Z
833
839
  </div>
834
840
  <script src="../../prettify.js"></script>
835
841
  <script>
@@ -508,7 +508,7 @@ export const validateFaceLiveness = async ({ sessionId }) =&gt; {
508
508
  <div class='footer quiet pad2 space-top1 center small'>
509
509
  Code coverage generated by
510
510
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
511
- at 2025-09-19T18:21:42.426Z
511
+ at 2025-09-23T13:45:27.346Z
512
512
  </div>
513
513
  <script src="../../prettify.js"></script>
514
514
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">88.67% </span>
26
+ <span class="strong">85.18% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>274/309</span>
28
+ <span class='fraction'>276/324</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">77.43% </span>
33
+ <span class="strong">72.98% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>127/164</span>
35
+ <span class='fraction'>127/174</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">97.87% </span>
40
+ <span class="strong">93.87% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>46/47</span>
42
+ <span class='fraction'>46/49</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">88.67% </span>
47
+ <span class="strong">85.18% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>274/309</span>
49
+ <span class='fraction'>276/324</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="certs.js"><a href="certs.js.html">certs.js</a></td>
83
- <td data-value="89.61" class="pic high">
83
+ <td data-value="89.74" class="pic high">
84
84
  <div class="chart"><div class="cover-fill" style="width: 89%"></div><div class="cover-empty" style="width: 11%"></div></div>
85
85
  </td>
86
- <td data-value="89.61" class="pct high">89.61%</td>
87
- <td data-value="77" class="abs high">69/77</td>
86
+ <td data-value="89.74" class="pct high">89.74%</td>
87
+ <td data-value="78" class="abs high">70/78</td>
88
88
  <td data-value="81.57" class="pct high">81.57%</td>
89
89
  <td data-value="38" class="abs high">31/38</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
91
  <td data-value="13" class="abs high">13/13</td>
92
- <td data-value="89.61" class="pct high">89.61%</td>
93
- <td data-value="77" class="abs high">69/77</td>
92
+ <td data-value="89.74" class="pct high">89.74%</td>
93
+ <td data-value="78" class="abs high">70/78</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -139,18 +139,18 @@
139
139
  </tr>
140
140
 
141
141
  <tr>
142
- <td class="file high" data-value="users.js"><a href="users.js.html">users.js</a></td>
143
- <td data-value="100" class="pic high">
144
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
142
+ <td class="file medium" data-value="users.js"><a href="users.js.html">users.js</a></td>
143
+ <td data-value="51.85" class="pic medium">
144
+ <div class="chart"><div class="cover-fill" style="width: 51%"></div><div class="cover-empty" style="width: 49%"></div></div>
145
145
  </td>
146
- <td data-value="100" class="pct high">100%</td>
147
- <td data-value="13" class="abs high">13/13</td>
148
- <td data-value="91.66" class="pct high">91.66%</td>
149
- <td data-value="12" class="abs high">11/12</td>
150
- <td data-value="100" class="pct high">100%</td>
151
- <td data-value="1" class="abs high">1/1</td>
152
- <td data-value="100" class="pct high">100%</td>
153
- <td data-value="13" class="abs high">13/13</td>
146
+ <td data-value="51.85" class="pct medium">51.85%</td>
147
+ <td data-value="27" class="abs medium">14/27</td>
148
+ <td data-value="50" class="pct medium">50%</td>
149
+ <td data-value="22" class="abs medium">11/22</td>
150
+ <td data-value="33.33" class="pct low">33.33%</td>
151
+ <td data-value="3" class="abs low">1/3</td>
152
+ <td data-value="51.85" class="pct medium">51.85%</td>
153
+ <td data-value="27" class="abs medium">14/27</td>
154
154
  </tr>
155
155
 
156
156
  </tbody>
@@ -161,7 +161,7 @@
161
161
  <div class='footer quiet pad2 space-top1 center small'>
162
162
  Code coverage generated by
163
163
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at 2025-09-19T18:21:42.426Z
164
+ at 2025-09-23T13:45:27.346Z
165
165
  </div>
166
166
  <script src="../../prettify.js"></script>
167
167
  <script>
@@ -294,7 +294,7 @@ const requestRevocationOnBoarding = async (params) =&gt; {
294
294
  try {
295
295
  const response = await httpRequest(
296
296
  "services/api/onboardingclient/requestcert",
297
- params,
297
+ { reason: params.reasonCode },
298
298
  "POST"
299
299
  );
300
300
  return new ApacuanaSuccess(response);
@@ -397,7 +397,7 @@ export const getRevocationReasons = async () =&gt; {
397
397
  <div class='footer quiet pad2 space-top1 center small'>
398
398
  Code coverage generated by
399
399
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
400
- at 2025-09-19T18:21:42.426Z
400
+ at 2025-09-23T13:45:27.346Z
401
401
  </div>
402
402
  <script src="../../prettify.js"></script>
403
403
  <script>
@@ -1405,7 +1405,7 @@ export const deleteSignatureVariant = async () =&gt; {
1405
1405
  <div class='footer quiet pad2 space-top1 center small'>
1406
1406
  Code coverage generated by
1407
1407
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1408
- at 2025-09-19T18:21:42.426Z
1408
+ at 2025-09-23T13:45:27.346Z
1409
1409
  </div>
1410
1410
  <script src="../../prettify.js"></script>
1411
1411
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
26
+ <span class="strong">51.85% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>13/13</span>
28
+ <span class='fraction'>14/27</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">91.66% </span>
33
+ <span class="strong">50% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>11/12</span>
35
+ <span class='fraction'>11/22</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
40
+ <span class="strong">33.33% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>1/1</span>
42
+ <span class='fraction'>1/3</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
47
+ <span class="strong">51.85% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>13/13</span>
49
+ <span class='fraction'>14/27</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line high'></div>
64
+ <div class='status-line medium'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -135,7 +135,56 @@
135
135
  <a name='L70'></a><a href='#L70'>70</a>
136
136
  <a name='L71'></a><a href='#L71'>71</a>
137
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>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
139
188
  <span class="cline-any cline-neutral">&nbsp;</span>
140
189
  <span class="cline-any cline-neutral">&nbsp;</span>
141
190
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -207,6 +256,55 @@
207
256
  <span class="cline-any cline-neutral">&nbsp;</span>
208
257
  <span class="cline-any cline-neutral">&nbsp;</span>
209
258
  <span class="cline-any cline-neutral">&nbsp;</span>
259
+ <span class="cline-any cline-neutral">&nbsp;</span>
260
+ <span class="cline-any cline-neutral">&nbsp;</span>
261
+ <span class="cline-any cline-neutral">&nbsp;</span>
262
+ <span class="cline-any cline-neutral">&nbsp;</span>
263
+ <span class="cline-any cline-neutral">&nbsp;</span>
264
+ <span class="cline-any cline-neutral">&nbsp;</span>
265
+ <span class="cline-any cline-neutral">&nbsp;</span>
266
+ <span class="cline-any cline-neutral">&nbsp;</span>
267
+ <span class="cline-any cline-neutral">&nbsp;</span>
268
+ <span class="cline-any cline-neutral">&nbsp;</span>
269
+ <span class="cline-any cline-neutral">&nbsp;</span>
270
+ <span class="cline-any cline-neutral">&nbsp;</span>
271
+ <span class="cline-any cline-neutral">&nbsp;</span>
272
+ <span class="cline-any cline-neutral">&nbsp;</span>
273
+ <span class="cline-any cline-neutral">&nbsp;</span>
274
+ <span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-neutral">&nbsp;</span>
276
+ <span class="cline-any cline-neutral">&nbsp;</span>
277
+ <span class="cline-any cline-neutral">&nbsp;</span>
278
+ <span class="cline-any cline-yes">1x</span>
279
+ <span class="cline-any cline-no">&nbsp;</span>
280
+ <span class="cline-any cline-no">&nbsp;</span>
281
+ <span class="cline-any cline-no">&nbsp;</span>
282
+ <span class="cline-any cline-no">&nbsp;</span>
283
+ <span class="cline-any cline-no">&nbsp;</span>
284
+ <span class="cline-any cline-no">&nbsp;</span>
285
+ <span class="cline-any cline-no">&nbsp;</span>
286
+ <span class="cline-any cline-no">&nbsp;</span>
287
+ <span class="cline-any cline-neutral">&nbsp;</span>
288
+ <span class="cline-any cline-neutral">&nbsp;</span>
289
+ <span class="cline-any cline-neutral">&nbsp;</span>
290
+ <span class="cline-any cline-no">&nbsp;</span>
291
+ <span class="cline-any cline-neutral">&nbsp;</span>
292
+ <span class="cline-any cline-neutral">&nbsp;</span>
293
+ <span class="cline-any cline-neutral">&nbsp;</span>
294
+ <span class="cline-any cline-neutral">&nbsp;</span>
295
+ <span class="cline-any cline-neutral">&nbsp;</span>
296
+ <span class="cline-any cline-no">&nbsp;</span>
297
+ <span class="cline-any cline-neutral">&nbsp;</span>
298
+ <span class="cline-any cline-neutral">&nbsp;</span>
299
+ <span class="cline-any cline-neutral">&nbsp;</span>
300
+ <span class="cline-any cline-no">&nbsp;</span>
301
+ <span class="cline-any cline-no">&nbsp;</span>
302
+ <span class="cline-any cline-neutral">&nbsp;</span>
303
+ <span class="cline-any cline-no">&nbsp;</span>
304
+ <span class="cline-any cline-neutral">&nbsp;</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
307
+ <span class="cline-any cline-neutral">&nbsp;</span>
210
308
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { httpRequest } from "../utils/httpClient";
211
309
  import { ApacuanaAPIError } from "../errors/index";
212
310
  import { getConfig } from "../config/index";
@@ -233,7 +331,7 @@ import ApacuanaSuccess from "../success";
233
331
  * @throws {Error} Si los parámetros de entrada son inválidos.
234
332
  * @throws {ApacuanaAPIError} Si ocurre un error en la API de Apacuana.
235
333
  */
236
- const getCustomer = async () =&gt; {
334
+ export const getCustomer = async () =&gt; {
237
335
  const { verificationId, customerId } = getConfig();
238
336
  &nbsp;
239
337
  if (!verificationId || !customerId) {
@@ -278,7 +376,56 @@ const getCustomer = async () =&gt; {
278
376
  }
279
377
  };
280
378
  &nbsp;
281
- export default getCustomer;
379
+ /**
380
+ * @typedef {object} CreateUserPayload
381
+ * @property {string} usr - Correo electrónico del usuario.
382
+ * @property {string} pwd - Contraseña del usuario.
383
+ * @property {string} kinddoc - Tipo de documento de identidad (ej. 'V', 'P', 'E').
384
+ * @property {string} doc - Número de documento de identidad.
385
+ */
386
+ &nbsp;
387
+ /**
388
+ * @typedef {object} CreateUserResponse
389
+ * @property {string} message - Mensaje de confirmación de la creación del usuario.
390
+ */
391
+ &nbsp;
392
+ /**
393
+ * Crea un nuevo usuario en la plataforma de Apacuana.
394
+ * @param {CreateUserPayload} userData - Objeto con los datos del usuario a crear.
395
+ * @returns {Promise&lt;ApacuanaSuccess&gt;} Una promesa que resuelve a un objeto con la respuesta exitosa.
396
+ * @throws {ApacuanaAPIError} Si los datos de entrada son inválidos o si ocurre un error en la API.
397
+ */
398
+ &nbsp;
399
+ export const createApacuanaUser = <span class="fstat-no" title="function not covered" >as</span>ync (userData) =&gt; {
400
+ <span class="cstat-no" title="statement not covered" > try {</span>
401
+ const formData = <span class="cstat-no" title="statement not covered" >new FormData();</span>
402
+ <span class="cstat-no" title="statement not covered" > Object.keys(userData).forEach(<span class="fstat-no" title="function not covered" >(k</span>ey) =&gt; {</span>
403
+ const value = <span class="cstat-no" title="statement not covered" >userData[key];</span>
404
+ <span class="cstat-no" title="statement not covered" > if (value instanceof File) {</span>
405
+ <span class="cstat-no" title="statement not covered" > formData.append(key, value);</span>
406
+ } else <span class="cstat-no" title="statement not covered" >if (value !== null &amp;&amp; value !== undefined) {</span>
407
+ <span class="cstat-no" title="statement not covered" > formData.append(key, String(value));</span>
408
+ }
409
+ });
410
+ &nbsp;
411
+ const response = <span class="cstat-no" title="statement not covered" >await httpRequest(</span>
412
+ "services/api/register/initial",
413
+ formData,
414
+ "POST"
415
+ );
416
+ &nbsp;
417
+ <span class="cstat-no" title="statement not covered" > return new ApacuanaSuccess({</span>
418
+ ...response,
419
+ });
420
+ } catch (error) {
421
+ <span class="cstat-no" title="statement not covered" > if (error instanceof ApacuanaAPIError) {</span>
422
+ <span class="cstat-no" title="statement not covered" > throw error;</span>
423
+ }
424
+ <span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
425
+ `Unexpected failure creating user: ${error.message || "Unknown error"}`
426
+ );
427
+ }
428
+ };
282
429
  &nbsp;</pre></td></tr></table></pre>
283
430
 
284
431
  <div class='push'></div><!-- for sticky footer -->
@@ -286,7 +433,7 @@ export default getCustomer;
286
433
  <div class='footer quiet pad2 space-top1 center small'>
287
434
  Code coverage generated by
288
435
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
289
- at 2025-09-19T18:21:42.426Z
436
+ at 2025-09-23T13:45:27.346Z
290
437
  </div>
291
438
  <script src="../../prettify.js"></script>
292
439
  <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-19T18:21:42.426Z
104
+ at 2025-09-23T13:45:27.346Z
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-19T18:21:42.426Z
244
+ at 2025-09-23T13:45:27.346Z
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-19T18:21:42.426Z
104
+ at 2025-09-23T13:45:27.346Z
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -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-19T18:21:42.426Z
136
+ at 2025-09-23T13:45:27.346Z
137
137
  </div>
138
138
  <script src="../../prettify.js"></script>
139
139
  <script>