apacuana-sdk-core 0.1.0 → 0.2.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 (35) hide show
  1. package/README.md +117 -46
  2. package/coverage/clover.xml +205 -91
  3. package/coverage/coverage-final.json +9 -6
  4. package/coverage/lcov-report/index.html +48 -33
  5. package/coverage/lcov-report/src/api/certs.js.html +74 -83
  6. package/coverage/lcov-report/src/api/index.html +36 -21
  7. package/coverage/lcov-report/src/api/revocations.js.html +1 -1
  8. package/coverage/lcov-report/src/api/signatures.js.html +528 -81
  9. package/coverage/lcov-report/src/api/users.js.html +5 -2
  10. package/coverage/lcov-report/src/config/index.html +21 -21
  11. package/coverage/lcov-report/src/config/index.js.html +65 -32
  12. package/coverage/lcov-report/src/errors/index.html +5 -5
  13. package/coverage/lcov-report/src/errors/index.js.html +13 -10
  14. package/coverage/lcov-report/src/index.html +1 -1
  15. package/coverage/lcov-report/src/index.js.html +13 -4
  16. package/coverage/lcov-report/src/utils/constant.js.html +4 -4
  17. package/coverage/lcov-report/src/utils/helpers.js.html +268 -145
  18. package/coverage/lcov-report/src/utils/httpClient.js.html +646 -0
  19. package/coverage/lcov-report/src/utils/index.html +32 -17
  20. package/coverage/lcov.info +429 -167
  21. package/dist/index.js +390 -150
  22. package/dist/index.js.map +1 -1
  23. package/dist/index.mjs +390 -150
  24. package/dist/index.mjs.map +1 -1
  25. package/package.json +1 -1
  26. package/src/api/certs.js +27 -30
  27. package/src/api/signatures.js +205 -50
  28. package/src/api/users.js +1 -0
  29. package/src/errors/index.js +1 -0
  30. package/src/index.js +4 -1
  31. package/src/utils/helpers.js +140 -99
  32. package/tests/api/certs.test.js +126 -4
  33. package/tests/api/signatures.test.js +207 -4
  34. package/tests/api/users.test.js +1 -0
  35. package/src/auth/index.js +0 -24
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">76.92% </span>
26
+ <span class="strong">82.5% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>20/26</span>
28
+ <span class='fraction'>33/40</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">61.9% </span>
33
+ <span class="strong">73.68% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>13/21</span>
35
+ <span class='fraction'>14/19</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'>2/2</span>
42
+ <span class='fraction'>6/6</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">76.92% </span>
47
+ <span class="strong">82.5% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>20/26</span>
49
+ <span class='fraction'>33/40</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 medium'></div>
64
+ <div class='status-line high'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -146,7 +146,209 @@
146
146
  <a name='L81'></a><a href='#L81'>81</a>
147
147
  <a name='L82'></a><a href='#L82'>82</a>
148
148
  <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
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>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
299
+ <span class="cline-any cline-neutral">&nbsp;</span>
300
+ <span class="cline-any cline-neutral">&nbsp;</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
302
+ <span class="cline-any cline-neutral">&nbsp;</span>
303
+ <span class="cline-any cline-neutral">&nbsp;</span>
304
+ <span class="cline-any cline-neutral">&nbsp;</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
307
+ <span class="cline-any cline-neutral">&nbsp;</span>
308
+ <span class="cline-any cline-neutral">&nbsp;</span>
309
+ <span class="cline-any cline-neutral">&nbsp;</span>
310
+ <span class="cline-any cline-neutral">&nbsp;</span>
311
+ <span class="cline-any cline-neutral">&nbsp;</span>
312
+ <span class="cline-any cline-neutral">&nbsp;</span>
313
+ <span class="cline-any cline-neutral">&nbsp;</span>
314
+ <span class="cline-any cline-neutral">&nbsp;</span>
315
+ <span class="cline-any cline-neutral">&nbsp;</span>
316
+ <span class="cline-any cline-neutral">&nbsp;</span>
317
+ <span class="cline-any cline-neutral">&nbsp;</span>
318
+ <span class="cline-any cline-neutral">&nbsp;</span>
319
+ <span class="cline-any cline-neutral">&nbsp;</span>
320
+ <span class="cline-any cline-neutral">&nbsp;</span>
321
+ <span class="cline-any cline-neutral">&nbsp;</span>
322
+ <span class="cline-any cline-neutral">&nbsp;</span>
323
+ <span class="cline-any cline-neutral">&nbsp;</span>
324
+ <span class="cline-any cline-neutral">&nbsp;</span>
325
+ <span class="cline-any cline-neutral">&nbsp;</span>
326
+ <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-neutral">&nbsp;</span>
328
+ <span class="cline-any cline-neutral">&nbsp;</span>
329
+ <span class="cline-any cline-neutral">&nbsp;</span>
330
+ <span class="cline-any cline-neutral">&nbsp;</span>
331
+ <span class="cline-any cline-neutral">&nbsp;</span>
332
+ <span class="cline-any cline-neutral">&nbsp;</span>
333
+ <span class="cline-any cline-neutral">&nbsp;</span>
334
+ <span class="cline-any cline-neutral">&nbsp;</span>
335
+ <span class="cline-any cline-neutral">&nbsp;</span>
336
+ <span class="cline-any cline-neutral">&nbsp;</span>
337
+ <span class="cline-any cline-neutral">&nbsp;</span>
338
+ <span class="cline-any cline-neutral">&nbsp;</span>
339
+ <span class="cline-any cline-neutral">&nbsp;</span>
340
+ <span class="cline-any cline-neutral">&nbsp;</span>
341
+ <span class="cline-any cline-neutral">&nbsp;</span>
342
+ <span class="cline-any cline-neutral">&nbsp;</span>
343
+ <span class="cline-any cline-neutral">&nbsp;</span>
344
+ <span class="cline-any cline-neutral">&nbsp;</span>
345
+ <span class="cline-any cline-neutral">&nbsp;</span>
346
+ <span class="cline-any cline-neutral">&nbsp;</span>
347
+ <span class="cline-any cline-neutral">&nbsp;</span>
348
+ <span class="cline-any cline-neutral">&nbsp;</span>
349
+ <span class="cline-any cline-neutral">&nbsp;</span>
350
+ <span class="cline-any cline-neutral">&nbsp;</span>
351
+ <span class="cline-any cline-neutral">&nbsp;</span>
150
352
  <span class="cline-any cline-neutral">&nbsp;</span>
151
353
  <span class="cline-any cline-neutral">&nbsp;</span>
152
354
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -156,162 +358,407 @@
156
358
  <span class="cline-any cline-neutral">&nbsp;</span>
157
359
  <span class="cline-any cline-neutral">&nbsp;</span>
158
360
  <span class="cline-any cline-neutral">&nbsp;</span>
159
- <span class="cline-any cline-yes">2x</span>
160
- <span class="cline-any cline-yes">2x</span>
161
- <span class="cline-any cline-yes">2x</span>
162
361
  <span class="cline-any cline-neutral">&nbsp;</span>
163
362
  <span class="cline-any cline-neutral">&nbsp;</span>
164
363
  <span class="cline-any cline-neutral">&nbsp;</span>
165
364
  <span class="cline-any cline-neutral">&nbsp;</span>
166
- <span class="cline-any cline-yes">2x</span>
167
- <span class="cline-any cline-yes">1x</span>
168
365
  <span class="cline-any cline-neutral">&nbsp;</span>
169
366
  <span class="cline-any cline-neutral">&nbsp;</span>
170
367
  <span class="cline-any cline-neutral">&nbsp;</span>
171
368
  <span class="cline-any cline-neutral">&nbsp;</span>
172
- <span class="cline-any cline-yes">1x</span>
173
- <span class="cline-any cline-yes">1x</span>
174
369
  <span class="cline-any cline-neutral">&nbsp;</span>
175
370
  <span class="cline-any cline-neutral">&nbsp;</span>
176
371
  <span class="cline-any cline-neutral">&nbsp;</span>
177
372
  <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-yes">1x</span>
179
373
  <span class="cline-any cline-neutral">&nbsp;</span>
180
374
  <span class="cline-any cline-neutral">&nbsp;</span>
181
375
  <span class="cline-any cline-neutral">&nbsp;</span>
182
- <span class="cline-any cline-yes">1x</span>
183
- <span class="cline-any cline-no">&nbsp;</span>
184
376
  <span class="cline-any cline-neutral">&nbsp;</span>
185
377
  <span class="cline-any cline-neutral">&nbsp;</span>
186
378
  <span class="cline-any cline-neutral">&nbsp;</span>
187
- <span class="cline-any cline-yes">1x</span>
188
379
  <span class="cline-any cline-neutral">&nbsp;</span>
189
380
  <span class="cline-any cline-neutral">&nbsp;</span>
190
381
  <span class="cline-any cline-neutral">&nbsp;</span>
191
382
  <span class="cline-any cline-neutral">&nbsp;</span>
383
+ <span class="cline-any cline-neutral">&nbsp;</span>
384
+ <span class="cline-any cline-neutral">&nbsp;</span>
385
+ <span class="cline-any cline-neutral">&nbsp;</span>
386
+ <span class="cline-any cline-neutral">&nbsp;</span>
387
+ <span class="cline-any cline-neutral">&nbsp;</span>
388
+ <span class="cline-any cline-neutral">&nbsp;</span>
389
+ <span class="cline-any cline-neutral">&nbsp;</span>
390
+ <span class="cline-any cline-neutral">&nbsp;</span>
391
+ <span class="cline-any cline-neutral">&nbsp;</span>
392
+ <span class="cline-any cline-neutral">&nbsp;</span>
393
+ <span class="cline-any cline-neutral">&nbsp;</span>
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-neutral">&nbsp;</span>
409
+ <span class="cline-any cline-neutral">&nbsp;</span>
410
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
417
+ <span class="cline-any cline-neutral">&nbsp;</span>
418
+ <span class="cline-any cline-neutral">&nbsp;</span>
419
+ <span class="cline-any cline-yes">2x</span>
420
+ <span class="cline-any cline-yes">1x</span>
421
+ <span class="cline-any cline-yes">1x</span>
422
+ <span class="cline-any cline-neutral">&nbsp;</span>
423
+ <span class="cline-any cline-yes">1x</span>
424
+ <span class="cline-any cline-yes">1x</span>
425
+ <span class="cline-any cline-neutral">&nbsp;</span>
426
+ <span class="cline-any cline-no">&nbsp;</span>
192
427
  <span class="cline-any cline-no">&nbsp;</span>
428
+ <span class="cline-any cline-neutral">&nbsp;</span>
193
429
  <span class="cline-any cline-no">&nbsp;</span>
194
430
  <span class="cline-any cline-neutral">&nbsp;</span>
195
431
  <span class="cline-any cline-neutral">&nbsp;</span>
196
432
  <span class="cline-any cline-neutral">&nbsp;</span>
197
433
  <span class="cline-any cline-neutral">&nbsp;</span>
198
434
  <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-yes">2x</span>
436
+ <span class="cline-any cline-yes">1x</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-neutral">&nbsp;</span>
199
440
  <span class="cline-any cline-neutral">&nbsp;</span>
200
441
  <span class="cline-any cline-neutral">&nbsp;</span>
201
442
  <span class="cline-any cline-neutral">&nbsp;</span>
202
443
  <span class="cline-any cline-yes">2x</span>
203
- <span class="cline-any cline-yes">3x</span>
444
+ <span class="cline-any cline-yes">4x</span>
445
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
449
+ <span class="cline-any cline-yes">1x</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>
204
456
  <span class="cline-any cline-yes">3x</span>
205
457
  <span class="cline-any cline-neutral">&nbsp;</span>
206
458
  <span class="cline-any cline-yes">3x</span>
207
- <span class="cline-any cline-yes">2x</span>
459
+ <span class="cline-any cline-yes">1x</span>
208
460
  <span class="cline-any cline-neutral">&nbsp;</span>
209
461
  <span class="cline-any cline-neutral">&nbsp;</span>
462
+ <span class="cline-any cline-yes">2x</span>
463
+ <span class="cline-any cline-yes">1x</span>
210
464
  <span class="cline-any cline-neutral">&nbsp;</span>
211
465
  <span class="cline-any cline-neutral">&nbsp;</span>
212
466
  <span class="cline-any cline-yes">1x</span>
467
+ <span class="cline-any cline-neutral">&nbsp;</span>
468
+ <span class="cline-any cline-neutral">&nbsp;</span>
469
+ <span class="cline-any cline-neutral">&nbsp;</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-yes">2x</span>
213
474
  <span class="cline-any cline-yes">1x</span>
475
+ <span class="cline-any cline-neutral">&nbsp;</span>
476
+ <span class="cline-any cline-neutral">&nbsp;</span>
477
+ <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
+ <span class="cline-any cline-neutral">&nbsp;</span>
480
+ <span class="cline-any cline-neutral">&nbsp;</span>
481
+ <span class="cline-any cline-yes">2x</span>
482
+ <span class="cline-any cline-yes">2x</span>
483
+ <span class="cline-any cline-yes">2x</span>
214
484
  <span class="cline-any cline-yes">1x</span>
215
485
  <span class="cline-any cline-neutral">&nbsp;</span>
216
486
  <span class="cline-any cline-neutral">&nbsp;</span>
217
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-yes">1x</span>
492
+ <span class="cline-any cline-yes">1x</span>
493
+ <span class="cline-any cline-neutral">&nbsp;</span>
494
+ <span class="cline-any cline-yes">1x</span>
218
495
  <span class="cline-any cline-yes">1x</span>
496
+ <span class="cline-any cline-neutral">&nbsp;</span>
497
+ <span class="cline-any cline-no">&nbsp;</span>
219
498
  <span class="cline-any cline-no">&nbsp;</span>
220
499
  <span class="cline-any cline-neutral">&nbsp;</span>
500
+ <span class="cline-any cline-no">&nbsp;</span>
221
501
  <span class="cline-any cline-neutral">&nbsp;</span>
222
502
  <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-yes">1x</span>
224
503
  <span class="cline-any cline-neutral">&nbsp;</span>
225
504
  <span class="cline-any cline-neutral">&nbsp;</span>
226
505
  <span class="cline-any cline-neutral">&nbsp;</span>
227
506
  <span class="cline-any cline-neutral">&nbsp;</span>
507
+ <span class="cline-any cline-neutral">&nbsp;</span>
508
+ <span class="cline-any cline-neutral">&nbsp;</span>
509
+ <span class="cline-any cline-neutral">&nbsp;</span>
510
+ <span class="cline-any cline-neutral">&nbsp;</span>
511
+ <span class="cline-any cline-yes">2x</span>
512
+ <span class="cline-any cline-yes">5x</span>
513
+ <span class="cline-any cline-neutral">&nbsp;</span>
514
+ <span class="cline-any cline-yes">3x</span>
515
+ <span class="cline-any cline-neutral">&nbsp;</span>
516
+ <span class="cline-any cline-yes">3x</span>
517
+ <span class="cline-any cline-yes">2x</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-yes">1x</span>
521
+ <span class="cline-any cline-yes">1x</span>
522
+ <span class="cline-any cline-neutral">&nbsp;</span>
523
+ <span class="cline-any cline-neutral">&nbsp;</span>
228
524
  <span class="cline-any cline-no">&nbsp;</span>
229
- <span class="cline-any cline-no">&nbsp;</span>
525
+ <span class="cline-any cline-neutral">&nbsp;</span>
526
+ <span class="cline-any cline-neutral">&nbsp;</span>
527
+ <span class="cline-any cline-neutral">&nbsp;</span>
230
528
  <span class="cline-any cline-neutral">&nbsp;</span>
231
529
  <span class="cline-any cline-neutral">&nbsp;</span>
232
530
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// src/api/signatures.js
233
- import { httpRequest } from "../utils/httpClient.js";
234
- import { ApacuanaAPIError } from "../errors/index.js";
235
- &nbsp;
236
- /**
237
- * Simula la firma de un documento.
238
- * @param {object} documentData - Datos del documento a firmar (ej., { documentId: '...', hash: '...' }).
239
- * @param {object} signatureData - Datos de la firma (ej., { type: 'autograph', value: '...' }).
240
- * @returns {Promise&lt;object&gt;} Objeto con el resultado de la firma (ej., { signedDocId: '...' }).
241
- */
242
- export const signDocument = async (documentData, signatureData) =&gt; {
243
- console.log("-&gt; Función 'signDocument' ejecutada.");
244
- console.log("Parámetros recibidos para firmar documento:", {
245
- documentData,
246
- signatureData,
247
- });
248
- &nbsp;
249
- if (!documentData || !signatureData) {
250
- throw new Error(
251
- "Datos de documento y firma son requeridos para signDocument."
252
- );
253
- }
531
+ import { getConfig } from "../config/index";
532
+ import { httpRequest } from "../utils/httpClient";
533
+ import { ApacuanaAPIError } from "../errors";
534
+ import helpers from "../utils/helpers";
535
+ import { INTEGRATION_TYPE } from "../utils/constant";
254
536
  &nbsp;
537
+ /*
538
+ const signDocumentOnBoarding = async (documentData, signatureData) =&gt; {
255
539
  try {
256
540
  const response = await httpRequest(
257
541
  "/docs/sign",
258
542
  { documentData, signatureData },
259
543
  "POST"
260
544
  );
261
- console.log(
262
- "Respuesta del servidor simulada para firmar documento:",
263
- response
264
- );
265
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!response.success) {
266
- <span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
545
+ if (!response.success) {
546
+ throw new ApacuanaAPIError(
267
547
  response.message || "Error desconocido al firmar documento."
268
548
  );
269
549
  }
270
- return {
271
- signedDocId: response.id || <span class="branch-1 cbranch-no" title="branch not covered" >"mock-signed-doc-456",</span>
272
- status: response.message,
550
+ return { signedDocId: response.id, status: response.message };
551
+ } catch (error) {
552
+ if (error.name === "ApacuanaAPIError") {
553
+ throw error;
554
+ }
555
+ throw new ApacuanaAPIError(
556
+ `Fallo en la firma del documento (on-boarding): ${error.message}`
557
+ );
558
+ }
559
+ };
560
+ &nbsp;
561
+ const signDocumentOnPremise = async (signature, cert, privateKey) =&gt; {
562
+ helpers.validateSignOnPremiseData({ signature, cert, privateKey });
563
+ try {
564
+ const digestBody = {
565
+ publickey: cert,
566
+ };
567
+ &nbsp;
568
+ const digestResponse = await httpRequest(
569
+ `services/api/documents/getdigest/${signature.id}`,
570
+ digestBody,
571
+ "POST"
572
+ );
573
+ &nbsp;
574
+ const digest = digestResponse.data?.digest || digestResponse.digest;
575
+ if (!digest) {
576
+ throw new ApacuanaAPIError(
577
+ "La generación de firma ha fallado: no se pudo obtener el digest del documento."
578
+ );
579
+ }
580
+ &nbsp;
581
+ const signedDigest = await helpers.signDigest(digest, privateKey);
582
+ &nbsp;
583
+ const signBody = {
584
+ positions: JSON.stringify(
585
+ signature.positions.map((p) =&gt; ({
586
+ x: p.x,
587
+ y: p.y,
588
+ page: p.page,
589
+ status: 1,
590
+ }))
591
+ ),
592
+ publickey: cert,
593
+ signeddigest: signedDigest,
273
594
  };
595
+ &nbsp;
596
+ const signResponse = await httpRequest(
597
+ `services/api/documents/sign/${signature.id}`,
598
+ signBody,
599
+ "PUT"
600
+ );
601
+ &nbsp;
602
+ return signResponse;
274
603
  } catch (error) {
275
- <span class="cstat-no" title="statement not covered" > console.error("Error en signDocument:", error);</span>
276
- <span class="cstat-no" title="statement not covered" > throw new Error(`Fallo en la firma del documento: ${error.message}`);</span>
604
+ if (error.name === "ApacuanaAPIError") {
605
+ throw error;
606
+ }
607
+ throw new ApacuanaAPIError(
608
+ `Fallo en la firma del documento (on-premise): ${error.message}`
609
+ );
277
610
  }
278
611
  };
612
+ */
279
613
  &nbsp;
280
614
  /**
281
- * Simula la adición de un firmante/usuario al sistema.
282
- * @param {object} signerData - Datos del firmante a agregar (ej., { userId: '...', name: '...', email: '...' }).
283
- * @returns {Promise&lt;object&gt;} Objeto con el ID del firmante agregado (ej., { signerId: '...' }).
615
+ * Firma un documento PDF con un certificado digital.
616
+ * @param {object} data - Datos para la firma. Para 'on-boarding', debe contener {documentData, signatureData}. Para 'on-premise', debe contener {signature, cert, privateKey}.
617
+ * @returns {Promise&lt;object&gt;} Objeto con el resultado de la firma.
618
+ */
619
+ /*
620
+ export const signDocument = async (signData) =&gt; {
621
+ if (
622
+ !signData ||
623
+ typeof signData !== "object" ||
624
+ Object.keys(signData).length === 0
625
+ ) {
626
+ throw new ApacuanaAPIError(
627
+ "El parámetro 'data' es requerido y debe ser un objeto no vacío.",
628
+ 400,
629
+ "INVALID_PARAMETER"
630
+ );
631
+ }
632
+ &nbsp;
633
+ const { integrationType } = getConfig();
634
+ &nbsp;
635
+ if (integrationType === INTEGRATION_TYPE.ONBOARDING) {
636
+ return signDocumentOnBoarding(signData);
637
+ }
638
+ &nbsp;
639
+ if (integrationType === INTEGRATION_TYPE.ONPREMISE) {
640
+ return signDocumentOnPremise(signData);
641
+ }
642
+ &nbsp;
643
+ throw new ApacuanaAPIError(
644
+ `Tipo de integración no soportado: ${integrationType}`,
645
+ 400,
646
+ "UNSUPPORTED_INTEGRATION_TYPE"
647
+ );
648
+ };
649
+ */
650
+ &nbsp;
651
+ const addSignerOnBoarding = async (signerData) =&gt; {
652
+ helpers.validateOnBoardingSignerData(signerData);
653
+ try {
654
+ // La lógica actual de httpRequest se mueve aquí
655
+ await httpRequest("services/api/documents/signing", signerData, "POST");
656
+ return { signer: signerData.typedoc + signerData.doc, success: true };
657
+ } catch (error) {
658
+ <span class="cstat-no" title="statement not covered" > if (error instanceof ApacuanaAPIError) {</span>
659
+ <span class="cstat-no" title="statement not covered" > throw error;</span>
660
+ }
661
+ <span class="cstat-no" title="statement not covered" > throw new Error(</span>
662
+ `Fallo al agregar firmante en On-Boarding: ${error.message}`
663
+ );
664
+ }
665
+ };
666
+ &nbsp;
667
+ const addSignerOnPremise = async () =&gt;
668
+ Promise.resolve({ signerId: "on-premise-signer-id", status: "added" });
669
+ &nbsp;
670
+ /**
671
+ * Agrega un firmante a un documento, manejando diferentes tipos de integración.
672
+ * @param {object} signerData - Datos del firmante a agregar.
673
+ * @returns {Promise&lt;object&gt;} Objeto con el resultado de agregar el firmante.
284
674
  */
285
675
  export const addSigner = async (signerData) =&gt; {
286
- console.log("-&gt; Función 'addSigner' ejecutada.");
287
- console.log("Parámetros recibidos para agregar firmante:", signerData);
676
+ if (
677
+ !signerData ||
678
+ typeof signerData !== "object" ||
679
+ Object.keys(signerData).length === 0
680
+ ) {
681
+ throw new ApacuanaAPIError(
682
+ "Los datos del firmante (signerData) son requeridos y deben ser un objeto no vacío.",
683
+ 400,
684
+ "INVALID_PARAMETER"
685
+ );
686
+ }
687
+ &nbsp;
688
+ const { integrationType } = getConfig();
689
+ &nbsp;
690
+ if (integrationType === INTEGRATION_TYPE.ONBOARDING) {
691
+ return addSignerOnBoarding(signerData);
692
+ }
288
693
  &nbsp;
289
- if (!signerData || !signerData.userId || !signerData.name) {
290
- throw new Error(
291
- "Datos de firmante (userId, name) son requeridos para addSigner."
694
+ if (integrationType === INTEGRATION_TYPE.ONPREMISE) {
695
+ return addSignerOnPremise(signerData);
696
+ }
697
+ &nbsp;
698
+ throw new ApacuanaAPIError(
699
+ `Tipo de integración no soportado: ${integrationType}`,
700
+ 400,
701
+ "UNSUPPORTED_INTEGRATION_TYPE"
702
+ );
703
+ };
704
+ &nbsp;
705
+ const getDocsOnPremise = async () =&gt; {
706
+ throw new ApacuanaAPIError(
707
+ "La obtención de documentos no está soportada para el tipo de integración: ONBOARDING",
708
+ 501,
709
+ "NOT_IMPLEMENTED"
710
+ );
711
+ };
712
+ &nbsp;
713
+ const getDocsOnBoarding = async (data) =&gt; {
714
+ const { customerId } = getConfig();
715
+ if (!customerId) {
716
+ throw new ApacuanaAPIError(
717
+ "El 'customerId' no está configurado. Por favor, configure el SDK.",
718
+ 400,
719
+ "CONFIGURATION_ERROR"
292
720
  );
293
721
  }
294
722
  &nbsp;
295
723
  try {
296
- const response = await httpRequest("/signers/add", signerData, "POST");
297
- console.log(
298
- "Respuesta del servidor simulada para agregar firmante:",
299
- response
300
- );
301
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!response.success) {
302
- <span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
303
- response.message || "Error desconocido al agregar firmante."
304
- );
305
- }
306
- return {
307
- signerId: response.id || <span class="branch-1 cbranch-no" title="branch not covered" >"mock-signer-123",</span>
308
- status: response.message,
309
- };
724
+ const apiUrl = `services/api/documents/listcustomer?page=${data.page}&amp;customerid=${customerId}&amp;size=${data.size}&amp;status=${data.status}`;
725
+ &nbsp;
726
+ const response = await httpRequest(apiUrl, {}, "GET");
727
+ return response;
310
728
  } catch (error) {
311
- <span class="cstat-no" title="statement not covered" > console.error("Error en addSigner:", error);</span>
312
- <span class="cstat-no" title="statement not covered" > throw new Error(`Fallo al agregar firmante: ${error.message}`);</span>
729
+ <span class="cstat-no" title="statement not covered" > if (error.name === "ApacuanaAPIError") {</span>
730
+ <span class="cstat-no" title="statement not covered" > throw error;</span>
731
+ }
732
+ <span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
733
+ `Fallo al obtener la lista de documentos (on-premise): ${error.message}`
734
+ );
313
735
  }
314
736
  };
737
+ &nbsp;
738
+ /**
739
+ * Obtiene una lista de documentos.
740
+ * @param {object} data - Objeto con los parámetros de paginación. Debe contener {page, size}.
741
+ * @returns {Promise&lt;object&gt;} Objeto con la lista de documentos.
742
+ */
743
+ export const getDocs = async (data) =&gt; {
744
+ helpers.validateGetDocsData(data);
745
+ &nbsp;
746
+ const { integrationType } = getConfig();
747
+ &nbsp;
748
+ if (integrationType === INTEGRATION_TYPE.ONBOARDING) {
749
+ return getDocsOnBoarding(data);
750
+ }
751
+ &nbsp;
752
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (integrationType === INTEGRATION_TYPE.ONPREMISE) {
753
+ return getDocsOnPremise();
754
+ }
755
+ &nbsp;
756
+ <span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
757
+ `La obtención de documentos no está soportada para un tipo de integración desconocido: ${integrationType}`,
758
+ 501,
759
+ "NOT_IMPLEMENTED"
760
+ );
761
+ };
315
762
  &nbsp;</pre></td></tr></table></pre>
316
763
 
317
764
  <div class='push'></div><!-- for sticky footer -->
@@ -319,7 +766,7 @@ export const addSigner = async (signerData) =&gt; {
319
766
  <div class='footer quiet pad2 space-top1 center small'>
320
767
  Code coverage generated by
321
768
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
322
- at 2025-07-29T03:51:45.303Z
769
+ at 2025-08-22T15:34:11.195Z
323
770
  </div>
324
771
  <script src="../../prettify.js"></script>
325
772
  <script>