apacuana-sdk-core 0.4.0 → 0.6.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 (39) hide show
  1. package/README.md +90 -55
  2. package/coverage/clover.xml +140 -119
  3. package/coverage/coverage-final.json +6 -6
  4. package/coverage/lcov-report/index.html +27 -27
  5. package/coverage/lcov-report/src/api/certs.js.html +40 -4
  6. package/coverage/lcov-report/src/api/index.html +19 -19
  7. package/coverage/lcov-report/src/api/revocations.js.html +21 -3
  8. package/coverage/lcov-report/src/api/signatures.js.html +433 -148
  9. package/coverage/lcov-report/src/api/users.js.html +24 -3
  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 +1 -1
  15. package/coverage/lcov-report/src/index.js.html +9 -3
  16. package/coverage/lcov-report/src/utils/constant.js.html +3 -3
  17. package/coverage/lcov-report/src/utils/helpers.js.html +143 -8
  18. package/coverage/lcov-report/src/utils/httpClient.js.html +1 -1
  19. package/coverage/lcov-report/src/utils/index.html +15 -15
  20. package/coverage/lcov.info +250 -202
  21. package/dist/api/certs.d.ts +17 -3
  22. package/dist/api/revocations.d.ts +17 -2
  23. package/dist/api/signatures.d.ts +120 -12
  24. package/dist/api/users.d.ts +22 -6
  25. package/dist/index.d.ts +4 -0
  26. package/dist/index.js +405 -92
  27. package/dist/index.js.map +1 -1
  28. package/dist/index.mjs +405 -92
  29. package/dist/index.mjs.map +1 -1
  30. package/dist/utils/helpers.d.ts +2 -0
  31. package/package.json +1 -1
  32. package/src/api/certs.js +14 -2
  33. package/src/api/revocations.js +7 -1
  34. package/src/api/signatures.js +195 -100
  35. package/src/api/users.js +8 -1
  36. package/src/index.js +3 -1
  37. package/src/utils/constant.js +2 -2
  38. package/src/utils/helpers.js +45 -0
  39. package/tests/api/signatures.test.js +11 -4
@@ -145,7 +145,31 @@
145
145
  <a name='L80'></a><a href='#L80'>80</a>
146
146
  <a name='L81'></a><a href='#L81'>81</a>
147
147
  <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
161
+ <span class="cline-any cline-neutral">&nbsp;</span>
162
+ <span class="cline-any cline-neutral">&nbsp;</span>
163
+ <span class="cline-any cline-neutral">&nbsp;</span>
164
+ <span class="cline-any cline-neutral">&nbsp;</span>
165
+ <span class="cline-any cline-neutral">&nbsp;</span>
166
+ <span class="cline-any cline-neutral">&nbsp;</span>
167
+ <span class="cline-any cline-neutral">&nbsp;</span>
168
+ <span class="cline-any cline-neutral">&nbsp;</span>
169
+ <span class="cline-any cline-neutral">&nbsp;</span>
170
+ <span class="cline-any cline-neutral">&nbsp;</span>
171
+ <span class="cline-any cline-neutral">&nbsp;</span>
172
+ <span class="cline-any cline-neutral">&nbsp;</span>
149
173
  <span class="cline-any cline-neutral">&nbsp;</span>
150
174
  <span class="cline-any cline-neutral">&nbsp;</span>
151
175
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -233,6 +257,18 @@ import helpers from "../utils/helpers";
233
257
  import { ApacuanaAPIError } from "../errors";
234
258
  import { INTEGRATION_TYPE } from "../utils/constant";
235
259
  &nbsp;
260
+ /**
261
+ * @typedef {object} GenerateCertResponse
262
+ * @property {string} cert - El certificado generado en formato string.
263
+ * @property {boolean} success - Indica si la operación fue exitosa.
264
+ */
265
+ &nbsp;
266
+ /**
267
+ * @typedef {object} GetCertStatusResponse
268
+ * @property {string} status - El estado actual del certificado del usuario.
269
+ * @property {boolean} success - Indica si la operación fue exitosa.
270
+ */
271
+ &nbsp;
236
272
  const generateCertOnBoarding = async (csr = <span class="branch-0 cbranch-no" title="branch not covered" >undefined)</span> =&gt; {
237
273
  try {
238
274
  const encryptedCSR = helpers.encryptedCsr(csr);
@@ -272,7 +308,7 @@ const generateCertOnPremise = async () =&gt; {
272
308
  /**
273
309
  * Generates a digital certificate.
274
310
  * @param {string} [csr] - Certificate Signing Request (CSR).
275
- * @returns {Promise&lt;{cert: string, success: boolean}&gt;} Object with the generated certificate and a success indicator.
311
+ * @returns {Promise&lt;GenerateCertResponse&gt;} Object with the generated certificate and a success indicator.
276
312
  * @throws {ApacuanaAPIError} If the CSR is invalid, if the API response does not contain the certificate, or if the integration type is not supported.
277
313
  * @throws {Error} If certificate generation fails for another reason.
278
314
  */
@@ -296,7 +332,7 @@ export const generateCert = async (csr = <span class="branch-0 cbranch-no" title
296
332
  /**
297
333
  * Gets the user's certificate status.
298
334
  * @param {boolean} [isCertificateInDevice=false] - Indicates if the certificate is already on the device.
299
- * @returns {{status: string, success: boolean}} Object with the certificate status and a success indicator.
335
+ * @returns {GetCertStatusResponse} Object with the certificate status and a success indicator.
300
336
  */
301
337
  export const getCertStatus = (isCertificateInDevice = <span class="branch-0 cbranch-no" title="branch not covered" >false)</span> =&gt; {
302
338
  const config = getConfig();
@@ -316,7 +352,7 @@ export const getCertStatus = (isCertificateInDevice = <span class="branch-0 cbra
316
352
  <div class='footer quiet pad2 space-top1 center small'>
317
353
  Code coverage generated by
318
354
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
319
- at 2025-08-25T16:11:28.089Z
355
+ at 2025-08-25T23:18:38.359Z
320
356
  </div>
321
357
  <script src="../../prettify.js"></script>
322
358
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">65.32% </span>
26
+ <span class="strong">60.9% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>81/124</span>
28
+ <span class='fraction'>81/133</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">51.51% </span>
33
+ <span class="strong">48.57% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>34/66</span>
35
+ <span class='fraction'>34/70</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">61.11% </span>
40
+ <span class="strong">57.89% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>11/18</span>
42
+ <span class='fraction'>11/19</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">65.32% </span>
47
+ <span class="strong">60.9% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>81/124</span>
49
+ <span class='fraction'>81/133</span>
50
50
  </div>
51
51
 
52
52
 
@@ -110,17 +110,17 @@
110
110
 
111
111
  <tr>
112
112
  <td class="file medium" data-value="signatures.js"><a href="signatures.js.html">signatures.js</a></td>
113
- <td data-value="56.75" class="pic medium">
114
- <div class="chart"><div class="cover-fill" style="width: 56%"></div><div class="cover-empty" style="width: 44%"></div></div>
113
+ <td data-value="50.6" class="pic medium">
114
+ <div class="chart"><div class="cover-fill" style="width: 50%"></div><div class="cover-empty" style="width: 50%"></div></div>
115
115
  </td>
116
- <td data-value="56.75" class="pct medium">56.75%</td>
117
- <td data-value="74" class="abs medium">42/74</td>
118
- <td data-value="42.85" class="pct low">42.85%</td>
119
- <td data-value="35" class="abs low">15/35</td>
120
- <td data-value="50" class="pct medium">50%</td>
121
- <td data-value="12" class="abs medium">6/12</td>
122
- <td data-value="56.75" class="pct medium">56.75%</td>
123
- <td data-value="74" class="abs medium">42/74</td>
116
+ <td data-value="50.6" class="pct medium">50.6%</td>
117
+ <td data-value="83" class="abs medium">42/83</td>
118
+ <td data-value="38.46" class="pct low">38.46%</td>
119
+ <td data-value="39" class="abs low">15/39</td>
120
+ <td data-value="46.15" class="pct low">46.15%</td>
121
+ <td data-value="13" class="abs low">6/13</td>
122
+ <td data-value="50.6" class="pct medium">50.6%</td>
123
+ <td data-value="83" class="abs medium">42/83</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
@@ -146,7 +146,7 @@
146
146
  <div class='footer quiet pad2 space-top1 center small'>
147
147
  Code coverage generated by
148
148
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at 2025-08-25T16:11:28.089Z
149
+ at 2025-08-25T23:18:38.359Z
150
150
  </div>
151
151
  <script src="../../prettify.js"></script>
152
152
  <script>
@@ -105,7 +105,19 @@
105
105
  <a name='L40'></a><a href='#L40'>40</a>
106
106
  <a name='L41'></a><a href='#L41'>41</a>
107
107
  <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
115
+ <span class="cline-any cline-neutral">&nbsp;</span>
116
+ <span class="cline-any cline-neutral">&nbsp;</span>
117
+ <span class="cline-any cline-neutral">&nbsp;</span>
118
+ <span class="cline-any cline-neutral">&nbsp;</span>
119
+ <span class="cline-any cline-neutral">&nbsp;</span>
120
+ <span class="cline-any cline-neutral">&nbsp;</span>
109
121
  <span class="cline-any cline-neutral">&nbsp;</span>
110
122
  <span class="cline-any cline-neutral">&nbsp;</span>
111
123
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -150,10 +162,16 @@
150
162
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { httpRequest } from "../utils/httpClient";
151
163
  import { ApacuanaAPIError } from "../errors/index";
152
164
  &nbsp;
165
+ /**
166
+ * @typedef {object} RequestRevocationResponse
167
+ * @property {string} revocationStatus - El estado de la solicitud de revocación (e.g., "pending").
168
+ * @property {string|number} requestId - El ID de la solicitud de revocación.
169
+ */
170
+ &nbsp;
153
171
  /**
154
172
  * Simula la solicitud de revocación de un certificado.
155
173
  * @param {string} reasonCode - Código o descripción del motivo de la revocación.
156
- * @returns {Promise&lt;object&gt;} Objeto con el estado de la solicitud de revocación.
174
+ * @returns {Promise&lt;RequestRevocationResponse&gt;} Objeto con el estado de la solicitud de revocación.
157
175
  */
158
176
  const requestRevocation = <span class="fstat-no" title="function not covered" >as</span>ync (reasonCode) =&gt; {
159
177
  <span class="cstat-no" title="statement not covered" > console.log("-&gt; Función 'requestRevocation' ejecutada.");</span>
@@ -196,7 +214,7 @@ export default requestRevocation;
196
214
  <div class='footer quiet pad2 space-top1 center small'>
197
215
  Code coverage generated by
198
216
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
199
- at 2025-08-25T16:11:28.089Z
217
+ at 2025-08-25T23:18:38.359Z
200
218
  </div>
201
219
  <script src="../../prettify.js"></script>
202
220
  <script>