apacuana-sdk-core 0.6.0 → 0.7.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 (54) hide show
  1. package/README.md +105 -250
  2. package/babel.config.cjs +11 -0
  3. package/coverage/clover.xml +189 -195
  4. package/coverage/coverage-final.json +8 -8
  5. package/coverage/lcov-report/api/index.html +131 -0
  6. package/coverage/lcov-report/api/signatures.js.html +1093 -0
  7. package/coverage/lcov-report/api/users.js.html +292 -0
  8. package/coverage/lcov-report/config/index.html +116 -0
  9. package/coverage/lcov-report/config/index.js.html +208 -0
  10. package/coverage/lcov-report/errors/index.html +116 -0
  11. package/coverage/lcov-report/errors/index.js.html +148 -0
  12. package/coverage/lcov-report/index.html +41 -41
  13. package/coverage/lcov-report/src/api/certs.js.html +55 -34
  14. package/coverage/lcov-report/src/api/index.html +25 -25
  15. package/coverage/lcov-report/src/api/revocations.js.html +135 -30
  16. package/coverage/lcov-report/src/api/signatures.js.html +76 -4
  17. package/coverage/lcov-report/src/api/users.js.html +1 -1
  18. package/coverage/lcov-report/src/config/index.html +13 -13
  19. package/coverage/lcov-report/src/config/index.js.html +69 -18
  20. package/coverage/lcov-report/src/errors/index.html +1 -1
  21. package/coverage/lcov-report/src/errors/index.js.html +8 -8
  22. package/coverage/lcov-report/src/index.html +15 -15
  23. package/coverage/lcov-report/src/index.js.html +14 -68
  24. package/coverage/lcov-report/src/utils/constant.js.html +1 -1
  25. package/coverage/lcov-report/src/utils/helpers.js.html +18 -51
  26. package/coverage/lcov-report/src/utils/httpClient.js.html +6 -72
  27. package/coverage/lcov-report/src/utils/index.html +19 -19
  28. package/coverage/lcov-report/utils/constant.js.html +145 -0
  29. package/coverage/lcov-report/utils/httpClient.js.html +646 -0
  30. package/coverage/lcov-report/utils/index.html +131 -0
  31. package/coverage/lcov.info +334 -337
  32. package/dist/api/certs.d.ts +11 -1
  33. package/dist/api/revocations.d.ts +32 -12
  34. package/dist/api/signatures.d.ts +37 -5
  35. package/dist/config/index.d.ts +13 -2
  36. package/dist/index.d.ts +4 -1
  37. package/dist/index.js +436 -290
  38. package/dist/index.js.map +1 -1
  39. package/dist/index.mjs +436 -290
  40. package/dist/index.mjs.map +1 -1
  41. package/dist/utils/helpers.d.ts +1 -1
  42. package/jest.config.cjs +6 -1
  43. package/package.json +12 -7
  44. package/rollup.config.js +1 -1
  45. package/src/api/certs.js +17 -10
  46. package/src/api/revocations.js +55 -20
  47. package/src/api/signatures.js +25 -1
  48. package/src/config/index.js +25 -8
  49. package/src/index.js +4 -22
  50. package/src/utils/helpers.js +11 -22
  51. package/src/utils/httpClient.js +0 -22
  52. package/tests/api/certs.test.js +30 -48
  53. package/tsconfig.json +2 -1
  54. package/.babelrc +0 -3
@@ -0,0 +1,116 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for errors</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../prettify.css" />
9
+ <link rel="stylesheet" href="../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../index.html">All files</a> errors</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>7/7</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">75% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>3/4</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>1/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>7/7</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <div class="pad1">
66
+ <table class="coverage-summary">
67
+ <thead>
68
+ <tr>
69
+ <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
70
+ <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
71
+ <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
72
+ <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
73
+ <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
74
+ <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
75
+ <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
76
+ <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
77
+ <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
78
+ <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
79
+ </tr>
80
+ </thead>
81
+ <tbody><tr>
82
+ <td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
83
+ <td data-value="100" class="pic high">
84
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
+ </td>
86
+ <td data-value="100" class="pct high">100%</td>
87
+ <td data-value="7" class="abs high">7/7</td>
88
+ <td data-value="75" class="pct medium">75%</td>
89
+ <td data-value="4" class="abs medium">3/4</td>
90
+ <td data-value="100" class="pct high">100%</td>
91
+ <td data-value="1" class="abs high">1/1</td>
92
+ <td data-value="100" class="pct high">100%</td>
93
+ <td data-value="7" class="abs high">7/7</td>
94
+ </tr>
95
+
96
+ </tbody>
97
+ </table>
98
+ </div>
99
+ <div class='push'></div><!-- for sticky footer -->
100
+ </div><!-- /wrapper -->
101
+ <div class='footer quiet pad2 space-top1 center small'>
102
+ Code coverage generated by
103
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
+ at 2025-08-26T16:18:42.585Z
105
+ </div>
106
+ <script src="../prettify.js"></script>
107
+ <script>
108
+ window.onload = function () {
109
+ prettyPrint();
110
+ };
111
+ </script>
112
+ <script src="../sorter.js"></script>
113
+ <script src="../block-navigation.js"></script>
114
+ </body>
115
+ </html>
116
+
@@ -0,0 +1,148 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for errors/index.js</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../prettify.css" />
9
+ <link rel="stylesheet" href="../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../index.html">All files</a> / <a href="index.html">errors</a> index.js</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>7/7</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">75% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>3/4</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>1/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>7/7</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
88
+ <span class="cline-any cline-neutral">&nbsp;</span>
89
+ <span class="cline-any cline-neutral">&nbsp;</span>
90
+ <span class="cline-any cline-neutral">&nbsp;</span>
91
+ <span class="cline-any cline-neutral">&nbsp;</span>
92
+ <span class="cline-any cline-neutral">&nbsp;</span>
93
+ <span class="cline-any cline-neutral">&nbsp;</span>
94
+ <span class="cline-any cline-yes">15x</span>
95
+ <span class="cline-any cline-yes">15x</span>
96
+ <span class="cline-any cline-yes">15x</span>
97
+ <span class="cline-any cline-yes">15x</span>
98
+ <span class="cline-any cline-yes">15x</span>
99
+ <span class="cline-any cline-neutral">&nbsp;</span>
100
+ <span class="cline-any cline-neutral">&nbsp;</span>
101
+ <span class="cline-any cline-yes">15x</span>
102
+ <span class="cline-any cline-yes">15x</span>
103
+ <span class="cline-any cline-neutral">&nbsp;</span>
104
+ <span class="cline-any cline-neutral">&nbsp;</span>
105
+ <span class="cline-any cline-neutral">&nbsp;</span>
106
+ <span class="cline-any cline-neutral">&nbsp;</span>
107
+ <span class="cline-any cline-neutral">&nbsp;</span>
108
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// src/errors/index.js
109
+ &nbsp;
110
+ /**
111
+ * Clase de error personalizada para errores de la API de Apacuana.
112
+ */
113
+ export class ApacuanaAPIError extends Error {
114
+ constructor(message, statusCode = 500, errorCode = null) {
115
+ super(message);
116
+ this.name = "ApacuanaAPIError";
117
+ this.statusCode = statusCode;
118
+ this.errorCode = errorCode;
119
+ this.success = false; // Añadir el atributo success con valor false
120
+ &nbsp;
121
+ // Mantener el stack trace correcto
122
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (Error.captureStackTrace) {
123
+ Error.captureStackTrace(this, ApacuanaAPIError);
124
+ }
125
+ }
126
+ }
127
+ &nbsp;
128
+ export default ApacuanaAPIError;
129
+ &nbsp;</pre></td></tr></table></pre>
130
+
131
+ <div class='push'></div><!-- for sticky footer -->
132
+ </div><!-- /wrapper -->
133
+ <div class='footer quiet pad2 space-top1 center small'>
134
+ Code coverage generated by
135
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
136
+ at 2025-08-26T16:18:42.585Z
137
+ </div>
138
+ <script src="../prettify.js"></script>
139
+ <script>
140
+ window.onload = function () {
141
+ prettyPrint();
142
+ };
143
+ </script>
144
+ <script src="../sorter.js"></script>
145
+ <script src="../block-navigation.js"></script>
146
+ </body>
147
+ </html>
148
+
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">40.95% </span>
26
+ <span class="strong">40.41% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>120/293</span>
28
+ <span class='fraction'>116/287</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">16.52% </span>
33
+ <span class="strong">16.29% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>38/230</span>
35
+ <span class='fraction'>37/227</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">34.21% </span>
40
+ <span class="strong">31.7% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>13/38</span>
42
+ <span class='fraction'>13/41</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">41.52% </span>
47
+ <span class="strong">40.98% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>120/289</span>
49
+ <span class='fraction'>116/283</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,47 +80,47 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="src"><a href="src/index.html">src</a></td>
83
- <td data-value="93.33" class="pic high">
84
- <div class="chart"><div class="cover-fill" style="width: 93%"></div><div class="cover-empty" style="width: 7%"></div></div>
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>
85
85
  </td>
86
- <td data-value="93.33" class="pct high">93.33%</td>
87
- <td data-value="15" class="abs high">14/15</td>
86
+ <td data-value="85.71" class="pct high">85.71%</td>
87
+ <td data-value="14" class="abs high">12/14</td>
88
88
  <td data-value="50" class="pct medium">50%</td>
89
89
  <td data-value="2" class="abs medium">1/2</td>
90
- <td data-value="100" class="pct high">100%</td>
91
- <td data-value="1" class="abs high">1/1</td>
92
- <td data-value="93.33" class="pct high">93.33%</td>
93
- <td data-value="15" class="abs high">14/15</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="85.71" class="pct high">85.71%</td>
93
+ <td data-value="14" class="abs high">12/14</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
97
97
  <td class="file medium" data-value="src/api"><a href="src/api/index.html">src/api</a></td>
98
- <td data-value="60.9" class="pic medium">
99
- <div class="chart"><div class="cover-fill" style="width: 60%"></div><div class="cover-empty" style="width: 40%"></div></div>
98
+ <td data-value="56.61" class="pic medium">
99
+ <div class="chart"><div class="cover-fill" style="width: 56%"></div><div class="cover-empty" style="width: 44%"></div></div>
100
100
  </td>
101
- <td data-value="60.9" class="pct medium">60.9%</td>
102
- <td data-value="133" class="abs medium">81/133</td>
103
- <td data-value="48.57" class="pct low">48.57%</td>
104
- <td data-value="70" class="abs low">34/70</td>
105
- <td data-value="57.89" class="pct medium">57.89%</td>
106
- <td data-value="19" class="abs medium">11/19</td>
107
- <td data-value="60.9" class="pct medium">60.9%</td>
108
- <td data-value="133" class="abs medium">81/133</td>
101
+ <td data-value="56.61" class="pct medium">56.61%</td>
102
+ <td data-value="136" class="abs medium">77/136</td>
103
+ <td data-value="48.52" class="pct low">48.52%</td>
104
+ <td data-value="68" class="abs low">33/68</td>
105
+ <td data-value="55" class="pct medium">55%</td>
106
+ <td data-value="20" class="abs medium">11/20</td>
107
+ <td data-value="56.61" class="pct medium">56.61%</td>
108
+ <td data-value="136" class="abs medium">77/136</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
112
112
  <td class="file low" data-value="src/config"><a href="src/config/index.html">src/config</a></td>
113
- <td data-value="27.27" class="pic low">
114
- <div class="chart"><div class="cover-fill" style="width: 27%"></div><div class="cover-empty" style="width: 73%"></div></div>
113
+ <td data-value="35.71" class="pic low">
114
+ <div class="chart"><div class="cover-fill" style="width: 35%"></div><div class="cover-empty" style="width: 65%"></div></div>
115
115
  </td>
116
- <td data-value="27.27" class="pct low">27.27%</td>
117
- <td data-value="11" class="abs low">3/11</td>
116
+ <td data-value="35.71" class="pct low">35.71%</td>
117
+ <td data-value="14" class="abs low">5/14</td>
118
118
  <td data-value="0" class="pct low">0%</td>
119
119
  <td data-value="9" class="abs low">0/9</td>
120
120
  <td data-value="0" class="pct low">0%</td>
121
- <td data-value="2" class="abs low">0/2</td>
122
- <td data-value="30" class="pct low">30%</td>
123
- <td data-value="10" class="abs low">3/10</td>
121
+ <td data-value="3" class="abs low">0/3</td>
122
+ <td data-value="38.46" class="pct low">38.46%</td>
123
+ <td data-value="13" class="abs low">5/13</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
@@ -140,17 +140,17 @@
140
140
 
141
141
  <tr>
142
142
  <td class="file low" data-value="src/utils"><a href="src/utils/index.html">src/utils</a></td>
143
- <td data-value="11.81" class="pic low">
144
- <div class="chart"><div class="cover-fill" style="width: 11%"></div><div class="cover-empty" style="width: 89%"></div></div>
143
+ <td data-value="12.93" class="pic low">
144
+ <div class="chart"><div class="cover-fill" style="width: 12%"></div><div class="cover-empty" style="width: 88%"></div></div>
145
145
  </td>
146
- <td data-value="11.81" class="pct low">11.81%</td>
147
- <td data-value="127" class="abs low">15/127</td>
146
+ <td data-value="12.93" class="pct low">12.93%</td>
147
+ <td data-value="116" class="abs low">15/116</td>
148
148
  <td data-value="0" class="pct low">0%</td>
149
- <td data-value="145" class="abs low">0/145</td>
149
+ <td data-value="144" class="abs low">0/144</td>
150
150
  <td data-value="0" class="pct low">0%</td>
151
151
  <td data-value="15" class="abs low">0/15</td>
152
- <td data-value="12.09" class="pct low">12.09%</td>
153
- <td data-value="124" class="abs low">15/124</td>
152
+ <td data-value="13.27" class="pct low">13.27%</td>
153
+ <td data-value="113" class="abs low">15/113</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-08-25T23:18:38.359Z
164
+ at 2025-08-29T13:20:25.539Z
165
165
  </div>
166
166
  <script src="prettify.js"></script>
167
167
  <script>
@@ -23,16 +23,16 @@
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">83.33% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>25/25</span>
28
+ <span class='fraction'>20/24</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">72.72% </span>
33
+ <span class="strong">63.63% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>8/11</span>
35
+ <span class='fraction'>7/11</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">100% </span>
47
+ <span class="strong">83.33% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>25/25</span>
49
+ <span class='fraction'>20/24</span>
50
50
  </div>
51
51
 
52
52
 
@@ -157,7 +157,18 @@
157
157
  <a name='L92'></a><a href='#L92'>92</a>
158
158
  <a name='L93'></a><a href='#L93'>93</a>
159
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>
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></td><td class="line-coverage quiet"><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>
161
172
  <span class="cline-any cline-neutral">&nbsp;</span>
162
173
  <span class="cline-any cline-neutral">&nbsp;</span>
163
174
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -175,33 +186,36 @@
175
186
  <span class="cline-any cline-neutral">&nbsp;</span>
176
187
  <span class="cline-any cline-neutral">&nbsp;</span>
177
188
  <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-yes">2x</span>
179
- <span class="cline-any cline-yes">4x</span>
180
- <span class="cline-any cline-yes">4x</span>
181
189
  <span class="cline-any cline-neutral">&nbsp;</span>
182
- <span class="cline-any cline-yes">4x</span>
183
190
  <span class="cline-any cline-neutral">&nbsp;</span>
184
191
  <span class="cline-any cline-neutral">&nbsp;</span>
185
192
  <span class="cline-any cline-neutral">&nbsp;</span>
186
193
  <span class="cline-any cline-neutral">&nbsp;</span>
187
194
  <span class="cline-any cline-yes">2x</span>
188
- <span class="cline-any cline-yes">2x</span>
195
+ <span class="cline-any cline-yes">1x</span>
189
196
  <span class="cline-any cline-yes">1x</span>
190
197
  <span class="cline-any cline-neutral">&nbsp;</span>
191
198
  <span class="cline-any cline-neutral">&nbsp;</span>
192
199
  <span class="cline-any cline-neutral">&nbsp;</span>
193
200
  <span class="cline-any cline-neutral">&nbsp;</span>
201
+ <span class="cline-any cline-yes">1x</span>
202
+ <span class="cline-any cline-yes">1x</span>
203
+ <span class="cline-any cline-no">&nbsp;</span>
204
+ <span class="cline-any cline-neutral">&nbsp;</span>
194
205
  <span class="cline-any cline-neutral">&nbsp;</span>
195
206
  <span class="cline-any cline-neutral">&nbsp;</span>
196
- <span class="cline-any cline-yes">1x</span>
197
207
  <span class="cline-any cline-neutral">&nbsp;</span>
198
208
  <span class="cline-any cline-neutral">&nbsp;</span>
199
- <span class="cline-any cline-yes">3x</span>
200
- <span class="cline-any cline-yes">2x</span>
201
209
  <span class="cline-any cline-neutral">&nbsp;</span>
202
210
  <span class="cline-any cline-yes">1x</span>
203
211
  <span class="cline-any cline-neutral">&nbsp;</span>
204
212
  <span class="cline-any cline-neutral">&nbsp;</span>
213
+ <span class="cline-any cline-no">&nbsp;</span>
214
+ <span class="cline-any cline-no">&nbsp;</span>
215
+ <span class="cline-any cline-neutral">&nbsp;</span>
216
+ <span class="cline-any cline-no">&nbsp;</span>
217
+ <span class="cline-any cline-neutral">&nbsp;</span>
218
+ <span class="cline-any cline-neutral">&nbsp;</span>
205
219
  <span class="cline-any cline-neutral">&nbsp;</span>
206
220
  <span class="cline-any cline-yes">2x</span>
207
221
  <span class="cline-any cline-yes">1x</span>
@@ -219,10 +233,10 @@
219
233
  <span class="cline-any cline-neutral">&nbsp;</span>
220
234
  <span class="cline-any cline-neutral">&nbsp;</span>
221
235
  <span class="cline-any cline-yes">2x</span>
222
- <span class="cline-any cline-yes">6x</span>
223
- <span class="cline-any cline-yes">6x</span>
224
- <span class="cline-any cline-yes">6x</span>
225
- <span class="cline-any cline-yes">4x</span>
236
+ <span class="cline-any cline-yes">3x</span>
237
+ <span class="cline-any cline-yes">3x</span>
238
+ <span class="cline-any cline-yes">3x</span>
239
+ <span class="cline-any cline-yes">1x</span>
226
240
  <span class="cline-any cline-neutral">&nbsp;</span>
227
241
  <span class="cline-any cline-yes">2x</span>
228
242
  <span class="cline-any cline-yes">1x</span>
@@ -260,6 +274,7 @@ import { INTEGRATION_TYPE } from "../utils/constant";
260
274
  /**
261
275
  * @typedef {object} GenerateCertResponse
262
276
  * @property {string} cert - El certificado generado en formato string.
277
+ * @property {string} certifiedid - El ID del certificado generado.
263
278
  * @property {boolean} success - Indica si la operación fue exitosa.
264
279
  */
265
280
  &nbsp;
@@ -269,31 +284,37 @@ import { INTEGRATION_TYPE } from "../utils/constant";
269
284
  * @property {boolean} success - Indica si la operación fue exitosa.
270
285
  */
271
286
  &nbsp;
272
- const generateCertOnBoarding = async (csr = <span class="branch-0 cbranch-no" title="branch not covered" >undefined)</span> =&gt; {
273
- try {
274
- const encryptedCSR = helpers.encryptedCsr(csr);
287
+ /**
288
+ * @typedef {object} EncryptedCSRObject
289
+ * @property {string} csr - The encrypted Certificate Signing Request.
290
+ */
275
291
  &nbsp;
292
+ /**
293
+ * @param {EncryptedCSRObject} encryptedCSR
294
+ */
295
+ const generateCertOnBoarding = async (encryptedCSR) =&gt; {
296
+ try {
276
297
  const response = await httpRequest(
277
298
  "services/api/register/certificate",
278
299
  encryptedCSR,
279
300
  "POST"
280
301
  );
281
- const { cert } = response;
282
- if (!cert) {
283
- throw new ApacuanaAPIError(
302
+ const { cert, certifiedid } = response;
303
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!cert || !certifiedid) {
304
+ <span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
284
305
  "The API response does not contain the certificate.",
285
306
  response.status,
286
307
  "INVALID_API_RESPONSE"
287
308
  );
288
309
  }
289
310
  &nbsp;
290
- return { cert, success: true };
311
+ return { cert, certifiedid, success: true };
291
312
  } catch (error) {
292
313
  // The captured error is re-thrown, which will already be of type ApacuanaAPIError or a native Error.
293
- if (error instanceof ApacuanaAPIError) {
294
- throw error;
314
+ <span class="cstat-no" title="statement not covered" > if (error instanceof ApacuanaAPIError) {</span>
315
+ <span class="cstat-no" title="statement not covered" > throw error;</span>
295
316
  }
296
- throw new Error(`Certificate generation failed: ${error.message}`);
317
+ <span class="cstat-no" title="statement not covered" > throw new Error(`Certificate generation failed: ${error.message}`);</span>
297
318
  }
298
319
  };
299
320
  &nbsp;
@@ -307,16 +328,16 @@ const generateCertOnPremise = async () =&gt; {
307
328
  &nbsp;
308
329
  /**
309
330
  * Generates a digital certificate.
310
- * @param {string} [csr] - Certificate Signing Request (CSR).
331
+ * @param {EncryptedCSRObject} encryptedCSR - Certificate Signing Request (CSR) object.
311
332
  * @returns {Promise&lt;GenerateCertResponse&gt;} Object with the generated certificate and a success indicator.
312
333
  * @throws {ApacuanaAPIError} If the CSR is invalid, if the API response does not contain the certificate, or if the integration type is not supported.
313
334
  * @throws {Error} If certificate generation fails for another reason.
314
335
  */
315
- export const generateCert = async (csr = <span class="branch-0 cbranch-no" title="branch not covered" >undefined)</span> =&gt; {
336
+ export const generateCert = async (encryptedCSR) =&gt; {
316
337
  const { integrationType } = getConfig();
317
- helpers.validateCsr(csr);
338
+ helpers.validateCsr(encryptedCSR);
318
339
  if (integrationType === INTEGRATION_TYPE.ONBOARDING) {
319
- return generateCertOnBoarding(csr);
340
+ return generateCertOnBoarding(encryptedCSR);
320
341
  }
321
342
  if (integrationType === INTEGRATION_TYPE.ONPREMISE) {
322
343
  return generateCertOnPremise();
@@ -352,7 +373,7 @@ export const getCertStatus = (isCertificateInDevice = <span class="branch-0 cbra
352
373
  <div class='footer quiet pad2 space-top1 center small'>
353
374
  Code coverage generated by
354
375
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
355
- at 2025-08-25T23:18:38.359Z
376
+ at 2025-08-29T13:20:25.539Z
356
377
  </div>
357
378
  <script src="../../prettify.js"></script>
358
379
  <script>