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
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">40.55% </span>
26
+ <span class="strong">61.18% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>116/286</span>
28
+ <span class='fraction'>238/389</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">16.29% </span>
33
+ <span class="strong">32.28% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>37/227</span>
35
+ <span class='fraction'>92/285</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">31.7% </span>
40
+ <span class="strong">63.79% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>13/41</span>
42
+ <span class='fraction'>37/58</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">41.13% </span>
47
+ <span class="strong">61.81% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>116/282</span>
49
+ <span class='fraction'>238/385</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 low'></div>
64
+ <div class='status-line medium'></div>
65
65
  <div class="pad1">
66
66
  <table class="coverage-summary">
67
67
  <thead>
@@ -94,18 +94,18 @@
94
94
  </tr>
95
95
 
96
96
  <tr>
97
- <td class="file medium" data-value="src/api"><a href="src/api/index.html">src/api</a></td>
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>
97
+ <td class="file high" data-value="src/api"><a href="src/api/index.html">src/api</a></td>
98
+ <td data-value="86.89" class="pic high">
99
+ <div class="chart"><div class="cover-fill" style="width: 86%"></div><div class="cover-empty" style="width: 14%"></div></div>
100
100
  </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>
101
+ <td data-value="86.89" class="pct high">86.89%</td>
102
+ <td data-value="229" class="abs high">199/229</td>
103
+ <td data-value="73.33" class="pct medium">73.33%</td>
104
+ <td data-value="120" class="abs medium">88/120</td>
105
+ <td data-value="100" class="pct high">100%</td>
106
+ <td data-value="35" class="abs high">35/35</td>
107
+ <td data-value="86.89" class="pct high">86.89%</td>
108
+ <td data-value="229" class="abs high">199/229</td>
109
109
  </tr>
110
110
 
111
111
  <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="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>
143
+ <td data-value="11.9" class="pic low">
144
+ <div class="chart"><div class="cover-fill" style="width: 11%"></div><div class="cover-empty" style="width: 89%"></div></div>
145
145
  </td>
146
- <td data-value="12.93" class="pct low">12.93%</td>
147
- <td data-value="116" class="abs low">15/116</td>
146
+ <td data-value="11.9" class="pct low">11.9%</td>
147
+ <td data-value="126" class="abs low">15/126</td>
148
148
  <td data-value="0" class="pct low">0%</td>
149
- <td data-value="144" class="abs low">0/144</td>
149
+ <td data-value="150" class="abs low">0/150</td>
150
150
  <td data-value="0" class="pct low">0%</td>
151
- <td data-value="15" class="abs low">0/15</td>
152
- <td data-value="13.27" class="pct low">13.27%</td>
153
- <td data-value="113" class="abs low">15/113</td>
151
+ <td data-value="17" class="abs low">0/17</td>
152
+ <td data-value="12.19" class="pct low">12.19%</td>
153
+ <td data-value="123" class="abs low">15/123</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-02T16:03:18.966Z
164
+ at 2025-09-05T15:19:06.305Z
165
165
  </div>
166
166
  <script src="prettify.js"></script>
167
167
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">83.33% </span>
26
+ <span class="strong">83.05% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>20/24</span>
28
+ <span class='fraction'>49/59</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">63.63% </span>
33
+ <span class="strong">70.37% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>7/11</span>
35
+ <span class='fraction'>19/27</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>4/4</span>
42
+ <span class='fraction'>10/10</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">83.33% </span>
47
+ <span class="strong">83.05% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>20/24</span>
49
+ <span class='fraction'>49/59</span>
50
50
  </div>
51
51
 
52
52
 
@@ -164,7 +164,134 @@
164
164
  <a name='L99'></a><a href='#L99'>99</a>
165
165
  <a name='L100'></a><a href='#L100'>100</a>
166
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>
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>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
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>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
168
295
  <span class="cline-any cline-neutral">&nbsp;</span>
169
296
  <span class="cline-any cline-neutral">&nbsp;</span>
170
297
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -265,6 +392,133 @@
265
392
  <span class="cline-any cline-neutral">&nbsp;</span>
266
393
  <span class="cline-any cline-neutral">&nbsp;</span>
267
394
  <span class="cline-any cline-neutral">&nbsp;</span>
395
+ <span class="cline-any cline-neutral">&nbsp;</span>
396
+ <span class="cline-any cline-neutral">&nbsp;</span>
397
+ <span class="cline-any cline-neutral">&nbsp;</span>
398
+ <span class="cline-any cline-neutral">&nbsp;</span>
399
+ <span class="cline-any cline-neutral">&nbsp;</span>
400
+ <span class="cline-any cline-neutral">&nbsp;</span>
401
+ <span class="cline-any cline-neutral">&nbsp;</span>
402
+ <span class="cline-any cline-neutral">&nbsp;</span>
403
+ <span class="cline-any cline-neutral">&nbsp;</span>
404
+ <span class="cline-any cline-neutral">&nbsp;</span>
405
+ <span class="cline-any cline-neutral">&nbsp;</span>
406
+ <span class="cline-any cline-neutral">&nbsp;</span>
407
+ <span class="cline-any cline-neutral">&nbsp;</span>
408
+ <span class="cline-any cline-yes">2x</span>
409
+ <span class="cline-any cline-yes">1x</span>
410
+ <span class="cline-any cline-yes">1x</span>
411
+ <span class="cline-any cline-neutral">&nbsp;</span>
412
+ <span class="cline-any cline-neutral">&nbsp;</span>
413
+ <span class="cline-any cline-neutral">&nbsp;</span>
414
+ <span class="cline-any cline-neutral">&nbsp;</span>
415
+ <span class="cline-any cline-neutral">&nbsp;</span>
416
+ <span class="cline-any cline-yes">1x</span>
417
+ <span class="cline-any cline-neutral">&nbsp;</span>
418
+ <span class="cline-any cline-no">&nbsp;</span>
419
+ <span class="cline-any cline-no">&nbsp;</span>
420
+ <span class="cline-any cline-neutral">&nbsp;</span>
421
+ <span class="cline-any cline-no">&nbsp;</span>
422
+ <span class="cline-any cline-neutral">&nbsp;</span>
423
+ <span class="cline-any cline-neutral">&nbsp;</span>
424
+ <span class="cline-any cline-neutral">&nbsp;</span>
425
+ <span class="cline-any cline-yes">2x</span>
426
+ <span class="cline-any cline-yes">1x</span>
427
+ <span class="cline-any cline-neutral">&nbsp;</span>
428
+ <span class="cline-any cline-neutral">&nbsp;</span>
429
+ <span class="cline-any cline-neutral">&nbsp;</span>
430
+ <span class="cline-any cline-neutral">&nbsp;</span>
431
+ <span class="cline-any cline-neutral">&nbsp;</span>
432
+ <span class="cline-any cline-neutral">&nbsp;</span>
433
+ <span class="cline-any cline-neutral">&nbsp;</span>
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-neutral">&nbsp;</span>
436
+ <span class="cline-any cline-neutral">&nbsp;</span>
437
+ <span class="cline-any cline-neutral">&nbsp;</span>
438
+ <span class="cline-any cline-neutral">&nbsp;</span>
439
+ <span class="cline-any cline-yes">2x</span>
440
+ <span class="cline-any cline-yes">3x</span>
441
+ <span class="cline-any cline-yes">3x</span>
442
+ <span class="cline-any cline-yes">1x</span>
443
+ <span class="cline-any cline-neutral">&nbsp;</span>
444
+ <span class="cline-any cline-yes">2x</span>
445
+ <span class="cline-any cline-yes">1x</span>
446
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
+ <span class="cline-any cline-neutral">&nbsp;</span>
448
+ <span class="cline-any cline-yes">1x</span>
449
+ <span class="cline-any cline-neutral">&nbsp;</span>
450
+ <span class="cline-any cline-neutral">&nbsp;</span>
451
+ <span class="cline-any cline-neutral">&nbsp;</span>
452
+ <span class="cline-any cline-neutral">&nbsp;</span>
453
+ <span class="cline-any cline-neutral">&nbsp;</span>
454
+ <span class="cline-any cline-neutral">&nbsp;</span>
455
+ <span class="cline-any cline-neutral">&nbsp;</span>
456
+ <span class="cline-any cline-neutral">&nbsp;</span>
457
+ <span class="cline-any cline-neutral">&nbsp;</span>
458
+ <span class="cline-any cline-neutral">&nbsp;</span>
459
+ <span class="cline-any cline-neutral">&nbsp;</span>
460
+ <span class="cline-any cline-neutral">&nbsp;</span>
461
+ <span class="cline-any cline-neutral">&nbsp;</span>
462
+ <span class="cline-any cline-neutral">&nbsp;</span>
463
+ <span class="cline-any cline-neutral">&nbsp;</span>
464
+ <span class="cline-any cline-neutral">&nbsp;</span>
465
+ <span class="cline-any cline-neutral">&nbsp;</span>
466
+ <span class="cline-any cline-neutral">&nbsp;</span>
467
+ <span class="cline-any cline-yes">2x</span>
468
+ <span class="cline-any cline-yes">1x</span>
469
+ <span class="cline-any cline-yes">1x</span>
470
+ <span class="cline-any cline-neutral">&nbsp;</span>
471
+ <span class="cline-any cline-neutral">&nbsp;</span>
472
+ <span class="cline-any cline-neutral">&nbsp;</span>
473
+ <span class="cline-any cline-neutral">&nbsp;</span>
474
+ <span class="cline-any cline-neutral">&nbsp;</span>
475
+ <span class="cline-any cline-yes">1x</span>
476
+ <span class="cline-any cline-neutral">&nbsp;</span>
477
+ <span class="cline-any cline-no">&nbsp;</span>
478
+ <span class="cline-any cline-no">&nbsp;</span>
479
+ <span class="cline-any cline-neutral">&nbsp;</span>
480
+ <span class="cline-any cline-no">&nbsp;</span>
481
+ <span class="cline-any cline-neutral">&nbsp;</span>
482
+ <span class="cline-any cline-neutral">&nbsp;</span>
483
+ <span class="cline-any cline-neutral">&nbsp;</span>
484
+ <span class="cline-any cline-yes">2x</span>
485
+ <span class="cline-any cline-yes">1x</span>
486
+ <span class="cline-any cline-neutral">&nbsp;</span>
487
+ <span class="cline-any cline-neutral">&nbsp;</span>
488
+ <span class="cline-any cline-neutral">&nbsp;</span>
489
+ <span class="cline-any cline-neutral">&nbsp;</span>
490
+ <span class="cline-any cline-neutral">&nbsp;</span>
491
+ <span class="cline-any cline-neutral">&nbsp;</span>
492
+ <span class="cline-any cline-neutral">&nbsp;</span>
493
+ <span class="cline-any cline-neutral">&nbsp;</span>
494
+ <span class="cline-any cline-neutral">&nbsp;</span>
495
+ <span class="cline-any cline-neutral">&nbsp;</span>
496
+ <span class="cline-any cline-neutral">&nbsp;</span>
497
+ <span class="cline-any cline-neutral">&nbsp;</span>
498
+ <span class="cline-any cline-neutral">&nbsp;</span>
499
+ <span class="cline-any cline-neutral">&nbsp;</span>
500
+ <span class="cline-any cline-yes">2x</span>
501
+ <span class="cline-any cline-yes">6x</span>
502
+ <span class="cline-any cline-yes">3x</span>
503
+ <span class="cline-any cline-neutral">&nbsp;</span>
504
+ <span class="cline-any cline-neutral">&nbsp;</span>
505
+ <span class="cline-any cline-neutral">&nbsp;</span>
506
+ <span class="cline-any cline-yes">3x</span>
507
+ <span class="cline-any cline-neutral">&nbsp;</span>
508
+ <span class="cline-any cline-yes">3x</span>
509
+ <span class="cline-any cline-yes">3x</span>
510
+ <span class="cline-any cline-yes">1x</span>
511
+ <span class="cline-any cline-neutral">&nbsp;</span>
512
+ <span class="cline-any cline-yes">2x</span>
513
+ <span class="cline-any cline-yes">1x</span>
514
+ <span class="cline-any cline-neutral">&nbsp;</span>
515
+ <span class="cline-any cline-neutral">&nbsp;</span>
516
+ <span class="cline-any cline-yes">1x</span>
517
+ <span class="cline-any cline-neutral">&nbsp;</span>
518
+ <span class="cline-any cline-neutral">&nbsp;</span>
519
+ <span class="cline-any cline-neutral">&nbsp;</span>
520
+ <span class="cline-any cline-neutral">&nbsp;</span>
521
+ <span class="cline-any cline-neutral">&nbsp;</span>
268
522
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { getConfig } from "../config/index";
269
523
  import { httpRequest } from "../utils/httpClient";
270
524
  import helpers from "../utils/helpers";
@@ -366,6 +620,133 @@ export const getCertStatus = (isCertificateInDevice = <span class="branch-0 cbra
366
620
  success: true,
367
621
  };
368
622
  };
623
+ &nbsp;
624
+ /**
625
+ * @typedef {object} CertType
626
+ * @property {string} id - The ID of the certificate type.
627
+ * @property {string} name - The name of the certificate type.
628
+ */
629
+ &nbsp;
630
+ /**
631
+ * @typedef {object} GetCertTypesResponse
632
+ * @property {Array&lt;CertType&gt;} types - A list of available certificate types.
633
+ * @property {boolean} success - Indicates if the operation was successful.
634
+ */
635
+ &nbsp;
636
+ const getCertTypesOnBoarding = async () =&gt; {
637
+ try {
638
+ const response = await httpRequest(
639
+ "services/api/customer/typeusers",
640
+ {},
641
+ "GET"
642
+ );
643
+ &nbsp;
644
+ return { ...response, success: true };
645
+ } catch (error) {
646
+ <span class="cstat-no" title="statement not covered" > if (error instanceof ApacuanaAPIError) {</span>
647
+ <span class="cstat-no" title="statement not covered" > throw error;</span>
648
+ }
649
+ <span class="cstat-no" title="statement not covered" > throw new Error(`Failed to get certificate types: ${error.message}`);</span>
650
+ }
651
+ };
652
+ &nbsp;
653
+ const getCertTypesOnPremise = async () =&gt; {
654
+ throw new ApacuanaAPIError(
655
+ "Getting certificate types is not supported for integration type: ONPREMISE",
656
+ 501,
657
+ "NOT_IMPLEMENTED"
658
+ );
659
+ };
660
+ &nbsp;
661
+ /**
662
+ * Gets the available certificate types.
663
+ * @returns {Promise&lt;GetCertTypesResponse&gt;} Object with the list of certificate types and a success indicator.
664
+ * @throws {ApacuanaAPIError} If the API response is invalid or the integration type is not supported.
665
+ * @throws {Error} If the request fails for another reason.
666
+ */
667
+ export const getCertTypes = async () =&gt; {
668
+ const { integrationType } = getConfig();
669
+ if (integrationType === INTEGRATION_TYPE.ONBOARDING) {
670
+ return getCertTypesOnBoarding();
671
+ }
672
+ if (integrationType === INTEGRATION_TYPE.ONPREMISE) {
673
+ return getCertTypesOnPremise();
674
+ }
675
+ &nbsp;
676
+ throw new ApacuanaAPIError(
677
+ `Unsupported integration type: ${integrationType}`,
678
+ 400,
679
+ "UNSUPPORTED_INTEGRATION_TYPE"
680
+ );
681
+ };
682
+ &nbsp;
683
+ /**
684
+ * @typedef {object} Requirement
685
+ * @property {string} id - The ID of the requirement.
686
+ * @property {string} description - The description of the requirement.
687
+ */
688
+ &nbsp;
689
+ /**
690
+ * @typedef {object} GetRequirementsResponse
691
+ * @property {Array&lt;Requirement&gt;} requirements - A list of requirements for the user type.
692
+ * @property {boolean} success - Indicates if the operation was successful.
693
+ */
694
+ &nbsp;
695
+ const getRequerimentsByTypeUserOnBoarding = async (type) =&gt; {
696
+ try {
697
+ const response = await httpRequest(
698
+ `services/api/customer/documentspref?typeuser=${type}`,
699
+ {},
700
+ "GET"
701
+ );
702
+ &nbsp;
703
+ return { ...response, success: true };
704
+ } catch (error) {
705
+ <span class="cstat-no" title="statement not covered" > if (error instanceof ApacuanaAPIError) {</span>
706
+ <span class="cstat-no" title="statement not covered" > throw error;</span>
707
+ }
708
+ <span class="cstat-no" title="statement not covered" > throw new Error(`Failed to get requirements: ${error.message}`);</span>
709
+ }
710
+ };
711
+ &nbsp;
712
+ const getRequerimentsByTypeUserOnPremise = async () =&gt; {
713
+ throw new ApacuanaAPIError(
714
+ "Getting requirements by user type is not supported for integration type: ONPREMISE",
715
+ 501,
716
+ "NOT_IMPLEMENTED"
717
+ );
718
+ };
719
+ &nbsp;
720
+ /**
721
+ * Gets the requirements for a given user type.
722
+ * @param {object} params - The parameters.
723
+ * @param {number} params.type - The user type to get requirements for.
724
+ * @returns {Promise&lt;GetRequirementsResponse&gt;} Object with the list of requirements and a success indicator.
725
+ * @throws {ApacuanaAPIError} If the API response is invalid or the integration type is not supported.
726
+ * @throws {Error} If the request fails for another reason or the type is invalid.
727
+ */
728
+ export const getRequerimentsByTypeUser = async (params) =&gt; {
729
+ if (!params || typeof params.type !== "number") {
730
+ throw new Error(
731
+ 'The "params" object with a numeric "type" property is required.'
732
+ );
733
+ }
734
+ const { type } = params;
735
+ &nbsp;
736
+ const { integrationType } = getConfig();
737
+ if (integrationType === INTEGRATION_TYPE.ONBOARDING) {
738
+ return getRequerimentsByTypeUserOnBoarding(type);
739
+ }
740
+ if (integrationType === INTEGRATION_TYPE.ONPREMISE) {
741
+ return getRequerimentsByTypeUserOnPremise();
742
+ }
743
+ &nbsp;
744
+ throw new ApacuanaAPIError(
745
+ `Unsupported integration type: ${integrationType}`,
746
+ 400,
747
+ "UNSUPPORTED_INTEGRATION_TYPE"
748
+ );
749
+ };
369
750
  &nbsp;</pre></td></tr></table></pre>
370
751
 
371
752
  <div class='push'></div><!-- for sticky footer -->
@@ -373,7 +754,7 @@ export const getCertStatus = (isCertificateInDevice = <span class="branch-0 cbra
373
754
  <div class='footer quiet pad2 space-top1 center small'>
374
755
  Code coverage generated by
375
756
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
376
- at 2025-09-02T16:03:18.966Z
757
+ at 2025-09-05T15:19:06.305Z
377
758
  </div>
378
759
  <script src="../../prettify.js"></script>
379
760
  <script>