apacuana-sdk-core 0.8.0 → 0.10.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 (36) hide show
  1. package/README.md +150 -0
  2. package/coverage/clover.xml +233 -130
  3. package/coverage/coverage-final.json +8 -8
  4. package/coverage/lcov-report/index.html +29 -29
  5. package/coverage/lcov-report/src/api/certs.js.html +390 -9
  6. package/coverage/lcov-report/src/api/index.html +40 -40
  7. package/coverage/lcov-report/src/api/revocations.js.html +79 -43
  8. package/coverage/lcov-report/src/api/signatures.js.html +595 -73
  9. package/coverage/lcov-report/src/api/users.js.html +1 -1
  10. package/coverage/lcov-report/src/config/index.html +1 -1
  11. package/coverage/lcov-report/src/config/index.js.html +6 -6
  12. package/coverage/lcov-report/src/errors/index.html +1 -1
  13. package/coverage/lcov-report/src/errors/index.js.html +8 -8
  14. package/coverage/lcov-report/src/index.html +1 -1
  15. package/coverage/lcov-report/src/index.js.html +58 -4
  16. package/coverage/lcov-report/src/utils/constant.js.html +4 -4
  17. package/coverage/lcov-report/src/utils/helpers.js.html +1 -1
  18. package/coverage/lcov-report/src/utils/httpClient.js.html +65 -35
  19. package/coverage/lcov-report/src/utils/index.html +15 -15
  20. package/coverage/lcov.info +422 -227
  21. package/dist/api/certs.d.ts +44 -0
  22. package/dist/api/signatures.d.ts +5 -0
  23. package/dist/index.d.ts +10 -0
  24. package/dist/index.js +579 -79
  25. package/dist/index.js.map +1 -1
  26. package/dist/index.mjs +579 -79
  27. package/dist/index.mjs.map +1 -1
  28. package/package.json +1 -1
  29. package/src/api/certs.js +127 -0
  30. package/src/api/revocations.js +14 -2
  31. package/src/api/signatures.js +174 -0
  32. package/src/index.js +20 -2
  33. package/src/utils/httpClient.js +29 -19
  34. package/tests/api/certs.test.js +113 -1
  35. package/tests/api/revocations.test.js +118 -5
  36. package/tests/api/signatures.test.js +306 -0
@@ -277,7 +277,7 @@ export default getCustomer;
277
277
  <div class='footer quiet pad2 space-top1 center small'>
278
278
  Code coverage generated by
279
279
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
280
- at 2025-09-02T16:03:18.966Z
280
+ at 2025-09-05T15:19:06.305Z
281
281
  </div>
282
282
  <script src="../../prettify.js"></script>
283
283
  <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-02T16:03:18.966Z
104
+ at 2025-09-05T15:19:06.305Z
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -135,7 +135,7 @@
135
135
  <span class="cline-any cline-neutral">&nbsp;</span>
136
136
  <span class="cline-any cline-neutral">&nbsp;</span>
137
137
  <span class="cline-any cline-neutral">&nbsp;</span>
138
- <span class="cline-any cline-yes">2x</span>
138
+ <span class="cline-any cline-yes">3x</span>
139
139
  <span class="cline-any cline-neutral">&nbsp;</span>
140
140
  <span class="cline-any cline-neutral">&nbsp;</span>
141
141
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -147,9 +147,9 @@
147
147
  <span class="cline-any cline-neutral">&nbsp;</span>
148
148
  <span class="cline-any cline-neutral">&nbsp;</span>
149
149
  <span class="cline-any cline-neutral">&nbsp;</span>
150
- <span class="cline-any cline-yes">2x</span>
150
+ <span class="cline-any cline-yes">3x</span>
151
151
  <span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-yes">2x</span>
152
+ <span class="cline-any cline-yes">3x</span>
153
153
  <span class="cline-any cline-neutral">&nbsp;</span>
154
154
  <span class="cline-any cline-no">&nbsp;</span>
155
155
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -172,9 +172,9 @@
172
172
  <span class="cline-any cline-neutral">&nbsp;</span>
173
173
  <span class="cline-any cline-neutral">&nbsp;</span>
174
174
  <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-yes">2x</span>
175
+ <span class="cline-any cline-yes">3x</span>
176
176
  <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-yes">2x</span>
177
+ <span class="cline-any cline-yes">3x</span>
178
178
  <span class="cline-any cline-no">&nbsp;</span>
179
179
  <span class="cline-any cline-neutral">&nbsp;</span>
180
180
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// src/config/index.js
@@ -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-02T16:03:18.966Z
244
+ at 2025-09-05T15:19:06.305Z
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-02T16:03:18.966Z
104
+ at 2025-09-05T15:19:06.305Z
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">19x</span>
95
- <span class="cline-any cline-yes">19x</span>
96
- <span class="cline-any cline-yes">19x</span>
97
- <span class="cline-any cline-yes">19x</span>
98
- <span class="cline-any cline-yes">19x</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>
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">19x</span>
102
- <span class="cline-any cline-yes">19x</span>
101
+ <span class="cline-any cline-yes">61x</span>
102
+ <span class="cline-any cline-yes">61x</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-02T16:03:18.966Z
136
+ at 2025-09-05T15:19:06.305Z
137
137
  </div>
138
138
  <script src="../../prettify.js"></script>
139
139
  <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-02T16:03:18.966Z
104
+ at 2025-09-05T15:19:06.305Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -118,7 +118,38 @@
118
118
  <a name='L53'></a><a href='#L53'>53</a>
119
119
  <a name='L54'></a><a href='#L54'>54</a>
120
120
  <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
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>
139
+ <a name='L74'></a><a href='#L74'>74</a></td><td class="line-coverage quiet"><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>
145
+ <span class="cline-any cline-neutral">&nbsp;</span>
146
+ <span class="cline-any cline-neutral">&nbsp;</span>
147
+ <span class="cline-any cline-neutral">&nbsp;</span>
148
+ <span class="cline-any cline-neutral">&nbsp;</span>
149
+ <span class="cline-any cline-neutral">&nbsp;</span>
150
+ <span class="cline-any cline-neutral">&nbsp;</span>
151
+ <span class="cline-any cline-neutral">&nbsp;</span>
152
+ <span class="cline-any cline-neutral">&nbsp;</span>
122
153
  <span class="cline-any cline-neutral">&nbsp;</span>
123
154
  <span class="cline-any cline-neutral">&nbsp;</span>
124
155
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -173,12 +204,30 @@
173
204
  <span class="cline-any cline-neutral">&nbsp;</span>
174
205
  <span class="cline-any cline-neutral">&nbsp;</span>
175
206
  <span class="cline-any cline-neutral">&nbsp;</span>
207
+ <span class="cline-any cline-neutral">&nbsp;</span>
208
+ <span class="cline-any cline-neutral">&nbsp;</span>
209
+ <span class="cline-any cline-neutral">&nbsp;</span>
210
+ <span class="cline-any cline-neutral">&nbsp;</span>
211
+ <span class="cline-any cline-neutral">&nbsp;</span>
176
212
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { setConfig, getConfig, close } from "./config/index";
177
213
  import { initHttpClient, setAuthToken } from "./utils/httpClient";
178
214
  import getCustomer from "./api/users";
179
215
  import { requestRevocation, getRevocationReasons } from "./api/revocations";
180
- import { generateCert, getCertStatus } from "./api/certs";
181
- import { addSigner, getDigest, getDocs, signDocument } from "./api/signatures";
216
+ import {
217
+ generateCert,
218
+ getCertStatus,
219
+ getCertTypes,
220
+ getRequerimentsByTypeUser,
221
+ } from "./api/certs";
222
+ import {
223
+ addSigner,
224
+ deleteSignatureVariant,
225
+ getDigest,
226
+ getDocs,
227
+ getSignatureVariant,
228
+ signDocument,
229
+ uploadSignatureVariant,
230
+ } from "./api/signatures";
182
231
  &nbsp;
183
232
  const apacuana = {
184
233
  /**
@@ -225,6 +274,11 @@ const apacuana = {
225
274
  signDocument,
226
275
  getDigest,
227
276
  getRevocationReasons,
277
+ uploadSignatureVariant,
278
+ getSignatureVariant,
279
+ deleteSignatureVariant,
280
+ getCertTypes,
281
+ getRequerimentsByTypeUser,
228
282
  };
229
283
  &nbsp;
230
284
  export default apacuana;
@@ -235,7 +289,7 @@ export default apacuana;
235
289
  <div class='footer quiet pad2 space-top1 center small'>
236
290
  Code coverage generated by
237
291
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
238
- at 2025-09-02T16:03:18.966Z
292
+ at 2025-09-05T15:19:06.305Z
239
293
  </div>
240
294
  <script src="../prettify.js"></script>
241
295
  <script>
@@ -83,7 +83,7 @@
83
83
  <a name='L18'></a><a href='#L18'>18</a>
84
84
  <a name='L19'></a><a href='#L19'>19</a>
85
85
  <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">6x</span>
86
+ <a name='L21'></a><a href='#L21'>21</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">8x</span>
87
87
  <span class="cline-any cline-neutral">&nbsp;</span>
88
88
  <span class="cline-any cline-neutral">&nbsp;</span>
89
89
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -94,12 +94,12 @@
94
94
  <span class="cline-any cline-neutral">&nbsp;</span>
95
95
  <span class="cline-any cline-neutral">&nbsp;</span>
96
96
  <span class="cline-any cline-neutral">&nbsp;</span>
97
- <span class="cline-any cline-yes">6x</span>
97
+ <span class="cline-any cline-yes">8x</span>
98
98
  <span class="cline-any cline-neutral">&nbsp;</span>
99
99
  <span class="cline-any cline-neutral">&nbsp;</span>
100
100
  <span class="cline-any cline-neutral">&nbsp;</span>
101
101
  <span class="cline-any cline-neutral">&nbsp;</span>
102
- <span class="cline-any cline-yes">6x</span>
102
+ <span class="cline-any cline-yes">8x</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>
@@ -130,7 +130,7 @@ export const INTEGRATION_TYPE = {
130
130
  <div class='footer quiet pad2 space-top1 center small'>
131
131
  Code coverage generated by
132
132
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
133
- at 2025-09-02T16:03:18.966Z
133
+ at 2025-09-05T15:19:06.305Z
134
134
  </div>
135
135
  <script src="../../prettify.js"></script>
136
136
  <script>
@@ -844,7 +844,7 @@ export default {
844
844
  <div class='footer quiet pad2 space-top1 center small'>
845
845
  Code coverage generated by
846
846
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
847
- at 2025-09-02T16:03:18.966Z
847
+ at 2025-09-05T15:19:06.305Z
848
848
  </div>
849
849
  <script src="../../prettify.js"></script>
850
850
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">7.5% </span>
26
+ <span class="strong">6% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>3/40</span>
28
+ <span class='fraction'>3/50</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/40</span>
35
+ <span class='fraction'>0/46</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/5</span>
42
+ <span class='fraction'>0/7</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">7.5% </span>
47
+ <span class="strong">6% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>3/40</span>
49
+ <span class='fraction'>3/50</span>
50
50
  </div>
51
51
 
52
52
 
@@ -228,7 +228,17 @@
228
228
  <a name='L163'></a><a href='#L163'>163</a>
229
229
  <a name='L164'></a><a href='#L164'>164</a>
230
230
  <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
232
242
  <span class="cline-any cline-neutral">&nbsp;</span>
233
243
  <span class="cline-any cline-neutral">&nbsp;</span>
234
244
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -239,7 +249,7 @@
239
249
  <span class="cline-any cline-neutral">&nbsp;</span>
240
250
  <span class="cline-any cline-neutral">&nbsp;</span>
241
251
  <span class="cline-any cline-neutral">&nbsp;</span>
242
- <span class="cline-any cline-yes">2x</span>
252
+ <span class="cline-any cline-yes">3x</span>
243
253
  <span class="cline-any cline-no">&nbsp;</span>
244
254
  <span class="cline-any cline-neutral">&nbsp;</span>
245
255
  <span class="cline-any cline-no">&nbsp;</span>
@@ -266,14 +276,16 @@
266
276
  <span class="cline-any cline-neutral">&nbsp;</span>
267
277
  <span class="cline-any cline-neutral">&nbsp;</span>
268
278
  <span class="cline-any cline-neutral">&nbsp;</span>
269
- <span class="cline-any cline-neutral">&nbsp;</span>
270
279
  <span class="cline-any cline-no">&nbsp;</span>
271
280
  <span class="cline-any cline-neutral">&nbsp;</span>
272
281
  <span class="cline-any cline-neutral">&nbsp;</span>
273
282
  <span class="cline-any cline-no">&nbsp;</span>
283
+ <span class="cline-any cline-neutral">&nbsp;</span>
274
284
  <span class="cline-any cline-no">&nbsp;</span>
275
285
  <span class="cline-any cline-neutral">&nbsp;</span>
276
286
  <span class="cline-any cline-neutral">&nbsp;</span>
287
+ <span class="cline-any cline-no">&nbsp;</span>
288
+ <span class="cline-any cline-neutral">&nbsp;</span>
277
289
  <span class="cline-any cline-neutral">&nbsp;</span>
278
290
  <span class="cline-any cline-neutral">&nbsp;</span>
279
291
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -290,6 +302,8 @@
290
302
  <span class="cline-any cline-neutral">&nbsp;</span>
291
303
  <span class="cline-any cline-no">&nbsp;</span>
292
304
  <span class="cline-any cline-no">&nbsp;</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-no">&nbsp;</span>
293
307
  <span class="cline-any cline-no">&nbsp;</span>
294
308
  <span class="cline-any cline-neutral">&nbsp;</span>
295
309
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -320,7 +334,7 @@
320
334
  <span class="cline-any cline-neutral">&nbsp;</span>
321
335
  <span class="cline-any cline-neutral">&nbsp;</span>
322
336
  <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-yes">2x</span>
337
+ <span class="cline-any cline-yes">3x</span>
324
338
  <span class="cline-any cline-no">&nbsp;</span>
325
339
  <span class="cline-any cline-no">&nbsp;</span>
326
340
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -344,7 +358,7 @@
344
358
  <span class="cline-any cline-neutral">&nbsp;</span>
345
359
  <span class="cline-any cline-neutral">&nbsp;</span>
346
360
  <span class="cline-any cline-neutral">&nbsp;</span>
347
- <span class="cline-any cline-yes">2x</span>
361
+ <span class="cline-any cline-yes">3x</span>
348
362
  <span class="cline-any cline-no">&nbsp;</span>
349
363
  <span class="cline-any cline-no">&nbsp;</span>
350
364
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -353,16 +367,22 @@
353
367
  <span class="cline-any cline-neutral">&nbsp;</span>
354
368
  <span class="cline-any cline-neutral">&nbsp;</span>
355
369
  <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-neutral">&nbsp;</span>
357
370
  <span class="cline-any cline-no">&nbsp;</span>
358
371
  <span class="cline-any cline-neutral">&nbsp;</span>
372
+ <span class="cline-any cline-no">&nbsp;</span>
373
+ <span class="cline-any cline-no">&nbsp;</span>
359
374
  <span class="cline-any cline-neutral">&nbsp;</span>
375
+ <span class="cline-any cline-no">&nbsp;</span>
376
+ <span class="cline-any cline-no">&nbsp;</span>
377
+ <span class="cline-any cline-no">&nbsp;</span>
378
+ <span class="cline-any cline-no">&nbsp;</span>
360
379
  <span class="cline-any cline-neutral">&nbsp;</span>
361
380
  <span class="cline-any cline-no">&nbsp;</span>
362
381
  <span class="cline-any cline-neutral">&nbsp;</span>
363
382
  <span class="cline-any cline-no">&nbsp;</span>
364
383
  <span class="cline-any cline-neutral">&nbsp;</span>
365
384
  <span class="cline-any cline-no">&nbsp;</span>
385
+ <span class="cline-any cline-neutral">&nbsp;</span>
366
386
  <span class="cline-any cline-no">&nbsp;</span>
367
387
  <span class="cline-any cline-neutral">&nbsp;</span>
368
388
  <span class="cline-any cline-no">&nbsp;</span>
@@ -378,16 +398,16 @@
378
398
  <span class="cline-any cline-neutral">&nbsp;</span>
379
399
  <span class="cline-any cline-neutral">&nbsp;</span>
380
400
  <span class="cline-any cline-neutral">&nbsp;</span>
401
+ <span class="cline-any cline-no">&nbsp;</span>
381
402
  <span class="cline-any cline-neutral">&nbsp;</span>
403
+ <span class="cline-any cline-no">&nbsp;</span>
382
404
  <span class="cline-any cline-neutral">&nbsp;</span>
383
405
  <span class="cline-any cline-neutral">&nbsp;</span>
384
406
  <span class="cline-any cline-neutral">&nbsp;</span>
385
407
  <span class="cline-any cline-neutral">&nbsp;</span>
386
408
  <span class="cline-any cline-neutral">&nbsp;</span>
387
- <span class="cline-any cline-no">&nbsp;</span>
388
- <span class="cline-any cline-neutral">&nbsp;</span>
389
- <span class="cline-any cline-neutral">&nbsp;</span>
390
409
  <span class="cline-any cline-neutral">&nbsp;</span>
410
+ <span class="cline-any cline-no">&nbsp;</span>
391
411
  <span class="cline-any cline-neutral">&nbsp;</span>
392
412
  <span class="cline-any cline-no">&nbsp;</span>
393
413
  <span class="cline-any cline-no">&nbsp;</span>
@@ -422,7 +442,6 @@ export const initHttpClient = <span class="fstat-no" title="function not covered
422
442
  <span class="cstat-no" title="statement not covered" > axiosInstance = axios.create({</span>
423
443
  baseURL: config.apiUrl,
424
444
  headers: {
425
- "Content-Type": "application/json",
426
445
  "APACUANA-API-Key": config.apiKey,
427
446
  "APACUANA-SECRET-Key": config.secretKey,
428
447
  // La cabecera Authorization se deja vacía al inicio.
@@ -436,9 +455,12 @@ export const initHttpClient = <span class="fstat-no" title="function not covered
436
455
  <span class="fstat-no" title="function not covered" > (r</span>esponse) =&gt; {
437
456
  // Maneja errores lógicos de la API (si el backend devuelve status 2xx con { success: false })
438
457
  <span class="cstat-no" title="statement not covered" > if (response.data &amp;&amp; response.data.success === false) {</span>
458
+ const errorMessage =
459
+ <span class="cstat-no" title="statement not covered" > response.data?.msg ||</span>
460
+ response.data?.message ||
461
+ "Error lógico desconocido desde la API.";
439
462
  <span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
440
- response.data.message ||
441
- "Error lógico en la respuesta de la API (status 2xx)",
463
+ errorMessage,
442
464
  response.status,
443
465
  response.data.code || "LOGICAL_API_ERROR"
444
466
  );
@@ -455,10 +477,12 @@ export const initHttpClient = <span class="fstat-no" title="function not covered
455
477
  &nbsp;
456
478
  <span class="cstat-no" title="statement not covered" > if (error.response) {</span>
457
479
  const { status, data } = <span class="cstat-no" title="statement not covered" >error.response;</span>
480
+ const errorMessage =
481
+ <span class="cstat-no" title="statement not covered" > data?.msg || data?.message || "Error desconocido desde la API.";</span>
458
482
  <span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
459
- data.message || `Error en la API: ${status}`,
483
+ errorMessage,
460
484
  status,
461
- data.code || "API_ERROR"
485
+ data?.code || "API_ERROR"
462
486
  );
463
487
  }
464
488
  <span class="cstat-no" title="statement not covered" > if (error.request) {</span>
@@ -517,12 +541,21 @@ export const httpRequest = <span class="fstat-no" title="function not covered" >
517
541
  );
518
542
  }
519
543
  &nbsp;
520
- // Creamos el cuerpo de la petición fusionando los datos de la llamada
521
- // con los parámetros de inicialización.
522
- const dataToSend = <span class="cstat-no" title="statement not covered" >{</span>
523
- ...data,
524
- };
544
+ let dataToSend;
545
+ const requestConfig = <span class="cstat-no" title="statement not covered" >{};</span>
525
546
  &nbsp;
547
+ const hasFile = <span class="cstat-no" title="statement not covered" >Object.values(data).some(</span>
548
+ <span class="fstat-no" title="function not covered" > (v</span>alue) =&gt; <span class="cstat-no" title="statement not covered" >typeof File !== "undefined" &amp;&amp; value instanceof File</span>
549
+ );
550
+ <span class="cstat-no" title="statement not covered" > if (hasFile) {</span>
551
+ const formData = <span class="cstat-no" title="statement not covered" >new FormData();</span>
552
+ <span class="cstat-no" title="statement not covered" > Object.keys(data).forEach(<span class="fstat-no" title="function not covered" >(k</span>ey) =&gt; {</span>
553
+ <span class="cstat-no" title="statement not covered" > formData.append(key, data[key]);</span>
554
+ });
555
+ <span class="cstat-no" title="statement not covered" > dataToSend = formData;</span>
556
+ } else {
557
+ <span class="cstat-no" title="statement not covered" > dataToSend = { ...data };</span>
558
+ }
526
559
  <span class="cstat-no" title="statement not covered" > try {</span>
527
560
  let response;
528
561
  <span class="cstat-no" title="statement not covered" > switch (method.toUpperCase()) {</span>
@@ -530,13 +563,16 @@ export const httpRequest = <span class="fstat-no" title="function not covered" >
530
563
  <span class="cstat-no" title="statement not covered" > response = await axiosInstance.get(path, { params: dataToSend });</span>
531
564
  <span class="cstat-no" title="statement not covered" > break;</span>
532
565
  case "POST":
533
- <span class="cstat-no" title="statement not covered" > response = await axiosInstance.post(path, dataToSend);</span>
566
+ <span class="cstat-no" title="statement not covered" > response = await axiosInstance.post(path, dataToSend, requestConfig);</span>
534
567
  <span class="cstat-no" title="statement not covered" > break;</span>
535
568
  case "PUT":
536
- <span class="cstat-no" title="statement not covered" > response = await axiosInstance.put(path, dataToSend);</span>
569
+ <span class="cstat-no" title="statement not covered" > response = await axiosInstance.put(path, dataToSend, requestConfig);</span>
537
570
  <span class="cstat-no" title="statement not covered" > break;</span>
538
571
  case "DELETE":
539
- <span class="cstat-no" title="statement not covered" > response = await axiosInstance.delete(path, { data: dataToSend });</span>
572
+ <span class="cstat-no" title="statement not covered" > response = await axiosInstance.delete(path, {</span>
573
+ data: dataToSend,
574
+ ...requestConfig,
575
+ });
540
576
  <span class="cstat-no" title="statement not covered" > break;</span>
541
577
  default:
542
578
  <span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
@@ -546,14 +582,8 @@ export const httpRequest = <span class="fstat-no" title="function not covered" >
546
582
  );
547
583
  }
548
584
  &nbsp;
549
- // Si la promesa se resolvió, la respuesta es exitosa.
550
- // El interceptor ya manejó los errores 4xx/5xx y los errores lógicos 2xx.
551
- // eslint-disable-next-line no-console
552
585
  <span class="cstat-no" title="statement not covered" > return response.data;</span>
553
586
  } catch (error) {
554
- // Si la petición falla, el interceptor ya procesó el error.
555
- // Simplemente relanzamos el error para que sea capturado por la función de API.
556
- // eslint-disable-next-line no-console
557
587
  <span class="cstat-no" title="statement not covered" > console.error(`[HTTP Client] Fallo en la petición a ${path}:`, error);</span>
558
588
  <span class="cstat-no" title="statement not covered" > throw error;</span>
559
589
  }
@@ -565,7 +595,7 @@ export const httpRequest = <span class="fstat-no" title="function not covered" >
565
595
  <div class='footer quiet pad2 space-top1 center small'>
566
596
  Code coverage generated by
567
597
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
568
- at 2025-09-02T16:03:18.966Z
598
+ at 2025-09-05T15:19:06.305Z
569
599
  </div>
570
600
  <script src="../../prettify.js"></script>
571
601
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">12.93% </span>
26
+ <span class="strong">11.9% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>15/116</span>
28
+ <span class='fraction'>15/126</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/144</span>
35
+ <span class='fraction'>0/150</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/15</span>
42
+ <span class='fraction'>0/17</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">13.27% </span>
47
+ <span class="strong">12.19% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>15/113</span>
49
+ <span class='fraction'>15/123</span>
50
50
  </div>
51
51
 
52
52
 
@@ -110,17 +110,17 @@
110
110
 
111
111
  <tr>
112
112
  <td class="file low" data-value="httpClient.js"><a href="httpClient.js.html">httpClient.js</a></td>
113
- <td data-value="7.5" class="pic low">
114
- <div class="chart"><div class="cover-fill" style="width: 7%"></div><div class="cover-empty" style="width: 93%"></div></div>
113
+ <td data-value="6" class="pic low">
114
+ <div class="chart"><div class="cover-fill" style="width: 6%"></div><div class="cover-empty" style="width: 94%"></div></div>
115
115
  </td>
116
- <td data-value="7.5" class="pct low">7.5%</td>
117
- <td data-value="40" class="abs low">3/40</td>
116
+ <td data-value="6" class="pct low">6%</td>
117
+ <td data-value="50" class="abs low">3/50</td>
118
118
  <td data-value="0" class="pct low">0%</td>
119
- <td data-value="40" class="abs low">0/40</td>
119
+ <td data-value="46" class="abs low">0/46</td>
120
120
  <td data-value="0" class="pct low">0%</td>
121
- <td data-value="5" class="abs low">0/5</td>
122
- <td data-value="7.5" class="pct low">7.5%</td>
123
- <td data-value="40" class="abs low">3/40</td>
121
+ <td data-value="7" class="abs low">0/7</td>
122
+ <td data-value="6" class="pct low">6%</td>
123
+ <td data-value="50" class="abs low">3/50</td>
124
124
  </tr>
125
125
 
126
126
  </tbody>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at 2025-09-02T16:03:18.966Z
134
+ at 2025-09-05T15:19:06.305Z
135
135
  </div>
136
136
  <script src="../../prettify.js"></script>
137
137
  <script>