apacuana-sdk-core 0.10.0 → 0.11.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.
- package/README.md +305 -286
- package/coverage/clover.xml +337 -243
- package/coverage/coverage-final.json +9 -7
- package/coverage/lcov-report/index.html +34 -19
- package/coverage/lcov-report/src/api/certs.js.html +162 -87
- package/coverage/lcov-report/src/api/faceLiveness.js.html +496 -0
- package/coverage/lcov-report/src/api/index.html +43 -28
- package/coverage/lcov-report/src/api/revocations.js.html +103 -106
- package/coverage/lcov-report/src/api/signatures.js.html +25 -253
- package/coverage/lcov-report/src/api/users.js.html +7 -13
- package/coverage/lcov-report/src/config/index.html +1 -1
- package/coverage/lcov-report/src/config/index.js.html +1 -1
- package/coverage/lcov-report/src/errors/index.html +1 -1
- package/coverage/lcov-report/src/errors/index.js.html +8 -8
- package/coverage/lcov-report/src/index.html +1 -1
- package/coverage/lcov-report/src/index.js.html +26 -2
- package/coverage/lcov-report/src/success/index.html +116 -0
- package/coverage/lcov-report/src/success/index.js.html +106 -0
- package/coverage/lcov-report/src/utils/constant.js.html +4 -4
- package/coverage/lcov-report/src/utils/helpers.js.html +1 -1
- package/coverage/lcov-report/src/utils/httpClient.js.html +1 -1
- package/coverage/lcov-report/src/utils/index.html +1 -1
- package/coverage/lcov.info +582 -406
- package/dist/api/certs.d.ts +9 -70
- package/dist/api/faceLiveness.d.ts +6 -0
- package/dist/api/revocations.d.ts +3 -42
- package/dist/api/signatures.d.ts +11 -153
- package/dist/index.d.ts +6 -0
- package/dist/index.js +463 -252
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +463 -252
- package/dist/index.mjs.map +1 -1
- package/dist/success/index.d.ts +7 -0
- package/dist/types/certs.d.ts +97 -0
- package/dist/types/faceLiveness.d.ts +10 -0
- package/dist/types/revocations.d.ts +40 -0
- package/dist/types/signatures.d.ts +152 -0
- package/dist/types/users.d.ts +260 -0
- package/package.json +1 -1
- package/src/api/certs.js +74 -49
- package/src/api/faceLiveness.js +137 -0
- package/src/api/revocations.js +66 -67
- package/src/api/signatures.js +21 -97
- package/src/api/users.js +4 -6
- package/src/index.js +8 -0
- package/src/success/index.js +8 -0
- package/src/types/certs.js +56 -0
- package/src/types/faceLiveness.js +7 -0
- package/src/types/revocations.js +25 -0
- package/src/types/signatures.js +77 -0
- package/src/types/users.js +73 -0
- package/tests/api/certs.test.js +99 -6
- package/tests/api/faceLiveness.test.js +172 -0
- package/tests/api/revocations.test.js +37 -37
- package/tests/api/signatures.test.js +11 -5
- package/tests/api/users.test.js +3 -2
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">86.11% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>31/36</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">80% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>16/20</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">83.33% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>5/6</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">86.11% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>31/36</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -157,64 +157,79 @@
|
|
|
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>
|
|
161
|
-
<a name='L96'></a><a href='#L96'>96</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
162
|
-
<span class="cline-any cline-neutral"> </span>
|
|
163
|
-
<span class="cline-any cline-neutral"> </span>
|
|
160
|
+
<a name='L95'></a><a href='#L95'>95</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
164
161
|
<span class="cline-any cline-neutral"> </span>
|
|
165
162
|
<span class="cline-any cline-neutral"> </span>
|
|
166
163
|
<span class="cline-any cline-neutral"> </span>
|
|
167
164
|
<span class="cline-any cline-neutral"> </span>
|
|
168
165
|
<span class="cline-any cline-neutral"> </span>
|
|
166
|
+
<span class="cline-any cline-yes">2x</span>
|
|
167
|
+
<span class="cline-any cline-yes">3x</span>
|
|
168
|
+
<span class="cline-any cline-yes">3x</span>
|
|
169
169
|
<span class="cline-any cline-neutral"> </span>
|
|
170
170
|
<span class="cline-any cline-neutral"> </span>
|
|
171
171
|
<span class="cline-any cline-neutral"> </span>
|
|
172
172
|
<span class="cline-any cline-neutral"> </span>
|
|
173
|
+
<span class="cline-any cline-yes">1x</span>
|
|
173
174
|
<span class="cline-any cline-neutral"> </span>
|
|
175
|
+
<span class="cline-any cline-yes">2x</span>
|
|
176
|
+
<span class="cline-any cline-yes">1x</span>
|
|
174
177
|
<span class="cline-any cline-neutral"> </span>
|
|
178
|
+
<span class="cline-any cline-yes">1x</span>
|
|
175
179
|
<span class="cline-any cline-neutral"> </span>
|
|
176
180
|
<span class="cline-any cline-neutral"> </span>
|
|
177
181
|
<span class="cline-any cline-neutral"> </span>
|
|
182
|
+
<span class="cline-any cline-yes">2x</span>
|
|
183
|
+
<span class="cline-any cline-no"> </span>
|
|
178
184
|
<span class="cline-any cline-neutral"> </span>
|
|
179
185
|
<span class="cline-any cline-neutral"> </span>
|
|
180
186
|
<span class="cline-any cline-neutral"> </span>
|
|
181
187
|
<span class="cline-any cline-neutral"> </span>
|
|
182
188
|
<span class="cline-any cline-neutral"> </span>
|
|
183
189
|
<span class="cline-any cline-neutral"> </span>
|
|
190
|
+
<span class="cline-any cline-yes">2x</span>
|
|
191
|
+
<span class="cline-any cline-yes">5x</span>
|
|
192
|
+
<span class="cline-any cline-yes">2x</span>
|
|
184
193
|
<span class="cline-any cline-neutral"> </span>
|
|
185
194
|
<span class="cline-any cline-neutral"> </span>
|
|
186
195
|
<span class="cline-any cline-neutral"> </span>
|
|
187
196
|
<span class="cline-any cline-neutral"> </span>
|
|
197
|
+
<span class="cline-any cline-yes">3x</span>
|
|
188
198
|
<span class="cline-any cline-neutral"> </span>
|
|
199
|
+
<span class="cline-any cline-yes">3x</span>
|
|
200
|
+
<span class="cline-any cline-yes">3x</span>
|
|
189
201
|
<span class="cline-any cline-neutral"> </span>
|
|
202
|
+
<span class="cline-any cline-no"> </span>
|
|
203
|
+
<span class="cline-any cline-no"> </span>
|
|
190
204
|
<span class="cline-any cline-neutral"> </span>
|
|
205
|
+
<span class="cline-any cline-no"> </span>
|
|
191
206
|
<span class="cline-any cline-neutral"> </span>
|
|
192
207
|
<span class="cline-any cline-neutral"> </span>
|
|
193
208
|
<span class="cline-any cline-neutral"> </span>
|
|
194
209
|
<span class="cline-any cline-neutral"> </span>
|
|
195
210
|
<span class="cline-any cline-neutral"> </span>
|
|
196
211
|
<span class="cline-any cline-neutral"> </span>
|
|
212
|
+
<span class="cline-any cline-yes">2x</span>
|
|
213
|
+
<span class="cline-any cline-yes">4x</span>
|
|
214
|
+
<span class="cline-any cline-yes">4x</span>
|
|
197
215
|
<span class="cline-any cline-neutral"> </span>
|
|
198
216
|
<span class="cline-any cline-neutral"> </span>
|
|
199
217
|
<span class="cline-any cline-neutral"> </span>
|
|
200
218
|
<span class="cline-any cline-neutral"> </span>
|
|
201
219
|
<span class="cline-any cline-yes">2x</span>
|
|
202
|
-
<span class="cline-any cline-yes">3x</span>
|
|
203
220
|
<span class="cline-any cline-yes">1x</span>
|
|
204
221
|
<span class="cline-any cline-neutral"> </span>
|
|
222
|
+
<span class="cline-any cline-yes">1x</span>
|
|
205
223
|
<span class="cline-any cline-neutral"> </span>
|
|
224
|
+
<span class="cline-any cline-yes">3x</span>
|
|
206
225
|
<span class="cline-any cline-yes">2x</span>
|
|
207
|
-
<span class="cline-any cline-yes">2x</span>
|
|
208
|
-
<span class="cline-any cline-neutral"> </span>
|
|
209
|
-
<span class="cline-any cline-neutral"> </span>
|
|
210
|
-
<span class="cline-any cline-neutral"> </span>
|
|
211
|
-
<span class="cline-any cline-neutral"> </span>
|
|
212
226
|
<span class="cline-any cline-neutral"> </span>
|
|
213
227
|
<span class="cline-any cline-yes">1x</span>
|
|
214
228
|
<span class="cline-any cline-neutral"> </span>
|
|
215
|
-
<span class="cline-any cline-yes">1x</span>
|
|
216
229
|
<span class="cline-any cline-neutral"> </span>
|
|
217
230
|
<span class="cline-any cline-neutral"> </span>
|
|
231
|
+
<span class="cline-any cline-yes">2x</span>
|
|
232
|
+
<span class="cline-any cline-yes">1x</span>
|
|
218
233
|
<span class="cline-any cline-neutral"> </span>
|
|
219
234
|
<span class="cline-any cline-neutral"> </span>
|
|
220
235
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -225,128 +240,110 @@
|
|
|
225
240
|
<span class="cline-any cline-yes">5x</span>
|
|
226
241
|
<span class="cline-any cline-neutral"> </span>
|
|
227
242
|
<span class="cline-any cline-yes">5x</span>
|
|
228
|
-
<span class="cline-any cline-yes">1x</span>
|
|
229
|
-
<span class="cline-any cline-neutral"> </span>
|
|
230
|
-
<span class="cline-any cline-neutral"> </span>
|
|
231
|
-
<span class="cline-any cline-neutral"> </span>
|
|
232
|
-
<span class="cline-any cline-neutral"> </span>
|
|
233
|
-
<span class="cline-any cline-neutral"> </span>
|
|
234
|
-
<span class="cline-any cline-neutral"> </span>
|
|
235
|
-
<span class="cline-any cline-yes">4x</span>
|
|
236
243
|
<span class="cline-any cline-yes">4x</span>
|
|
237
244
|
<span class="cline-any cline-neutral"> </span>
|
|
238
|
-
<span class="cline-any cline-neutral"> </span>
|
|
239
|
-
<span class="cline-any cline-neutral"> </span>
|
|
240
|
-
<span class="cline-any cline-neutral"> </span>
|
|
241
|
-
<span class="cline-any cline-neutral"> </span>
|
|
242
|
-
<span class="cline-any cline-yes">2x</span>
|
|
243
245
|
<span class="cline-any cline-yes">1x</span>
|
|
244
|
-
<span class="cline-any cline-neutral"> </span>
|
|
245
|
-
<span class="cline-any cline-neutral"> </span>
|
|
246
246
|
<span class="cline-any cline-yes">1x</span>
|
|
247
247
|
<span class="cline-any cline-neutral"> </span>
|
|
248
|
-
<span class="cline-any cline-
|
|
249
|
-
<span class="cline-any cline-yes">2x</span>
|
|
248
|
+
<span class="cline-any cline-no"> </span>
|
|
250
249
|
<span class="cline-any cline-neutral"> </span>
|
|
251
|
-
<span class="cline-any cline-yes">1x</span>
|
|
252
250
|
<span class="cline-any cline-neutral"> </span>
|
|
253
251
|
<span class="cline-any cline-neutral"> </span>
|
|
254
252
|
<span class="cline-any cline-neutral"> </span>
|
|
255
253
|
<span class="cline-any cline-neutral"> </span>
|
|
256
254
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { httpRequest } from "../utils/httpClient";
|
|
257
|
-
import { ApacuanaAPIError } from "../errors/index";
|
|
258
255
|
import { getConfig } from "../config";
|
|
259
256
|
import { INTEGRATION_TYPE } from "../utils/constant";
|
|
257
|
+
import { ApacuanaAPIError } from "../errors";
|
|
258
|
+
import ApacuanaSuccess from "../success";
|
|
260
259
|
|
|
261
|
-
|
|
262
|
-
* @typedef {object} RequestRevocationResponse
|
|
263
|
-
* @property {string} revocationStatus - El estado de la solicitud de revocación (e.g., "pending").
|
|
264
|
-
* @property {string|number} requestId - El ID de la solicitud de revocación.
|
|
265
|
-
*/
|
|
266
|
-
|
|
267
|
-
/**
|
|
268
|
-
* Simula la solicitud de revocación de un certificado.
|
|
269
|
-
* @param {string} reasonCode - Código o descripción del motivo de la revocación.
|
|
270
|
-
* @returns {Promise<RequestRevocationResponse>} Objeto con el estado de la solicitud de revocación.
|
|
271
|
-
*/
|
|
272
|
-
/**
|
|
273
|
-
* @typedef {object} RevocationResponse
|
|
274
|
-
* @property {boolean} success - Indicates if the revocation request was successful.
|
|
275
|
-
* @property {string} [message] - A message providing details about the outcome.
|
|
276
|
-
*/
|
|
277
|
-
|
|
278
|
-
/**
|
|
279
|
-
* @typedef {object} RevocationReason
|
|
280
|
-
* @property {string} code - The code for the revocation reason.
|
|
281
|
-
* @property {string} description - The description of the revocation reason.
|
|
282
|
-
*/
|
|
283
|
-
|
|
284
|
-
/**
|
|
285
|
-
* @typedef {object} RevocationReasonsResponse
|
|
286
|
-
* @property {boolean} success - Indicates if the request was successful.
|
|
287
|
-
* @property {RevocationReason[]} reasons - A list of revocation reasons.
|
|
288
|
-
*/
|
|
289
|
-
|
|
290
|
-
/**
|
|
291
|
-
* Requests the revocation of a certificate.
|
|
292
|
-
* @param {number} reasonCode - Código o descripción del motivo de la revocación.
|
|
293
|
-
* @returns {Promise<RevocationResponse>} An object indicating the success of the request.
|
|
294
|
-
* @throws {ApacuanaAPIError} If the revocation request fails.
|
|
295
|
-
*/
|
|
296
|
-
export const requestRevocation = async (reasonCode) => {
|
|
297
|
-
if (!reasonCode) {
|
|
298
|
-
throw new Error("Código de motivo es requerido para requestRevocation.");
|
|
299
|
-
}
|
|
300
|
-
|
|
260
|
+
const requestRevocationOnBoarding = async (params) => {
|
|
301
261
|
try {
|
|
302
262
|
const response = await httpRequest(
|
|
303
|
-
"services/api/
|
|
304
|
-
|
|
263
|
+
"services/api/certificate/revocation",
|
|
264
|
+
params,
|
|
305
265
|
"POST"
|
|
306
266
|
);
|
|
307
|
-
|
|
308
|
-
return response;
|
|
267
|
+
return new ApacuanaSuccess(response);
|
|
309
268
|
} catch (error) {
|
|
310
|
-
|
|
269
|
+
if (error instanceof ApacuanaAPIError) {
|
|
270
|
+
throw error;
|
|
271
|
+
}
|
|
272
|
+
throw new Error(`Failed to request revocation: ${error.message}`);
|
|
311
273
|
}
|
|
312
274
|
};
|
|
313
275
|
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
276
|
+
const requestRevocationOnPremise = <span class="fstat-no" title="function not covered" >as</span>ync () => {
|
|
277
|
+
<span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
|
|
278
|
+
"Requesting revocation is not supported for integration type: ONPREMISE",
|
|
279
|
+
501,
|
|
280
|
+
"NOT_IMPLEMENTED"
|
|
281
|
+
);
|
|
282
|
+
};
|
|
321
283
|
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
"NOT_IMPLEMENTED"
|
|
284
|
+
export const requestRevocation = async (params) => {
|
|
285
|
+
if (!params || typeof params.reasonCode !== "number") {
|
|
286
|
+
throw new Error(
|
|
287
|
+
'The "params" object with a numeric "reasonCode" property is required.'
|
|
327
288
|
);
|
|
328
289
|
}
|
|
329
290
|
|
|
291
|
+
const { integrationType } = getConfig();
|
|
292
|
+
|
|
293
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (integrationType === INTEGRATION_TYPE.ONBOARDING) {
|
|
294
|
+
return requestRevocationOnBoarding(params);
|
|
295
|
+
}
|
|
296
|
+
<span class="cstat-no" title="statement not covered" > if (integrationType === INTEGRATION_TYPE.ONPREMISE) {</span>
|
|
297
|
+
<span class="cstat-no" title="statement not covered" > return requestRevocationOnPremise(params);</span>
|
|
298
|
+
}
|
|
299
|
+
<span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
|
|
300
|
+
`Unsupported integration type: ${integrationType}`,
|
|
301
|
+
400,
|
|
302
|
+
"UNSUPPORTED_INTEGRATION_TYPE"
|
|
303
|
+
);
|
|
304
|
+
};
|
|
305
|
+
|
|
306
|
+
const getRevocationReasonsOnBoarding = async () => {
|
|
330
307
|
try {
|
|
331
308
|
const response = await httpRequest(
|
|
332
|
-
"
|
|
333
|
-
|
|
334
|
-
|
|
309
|
+
"services/api/certificate/revocation-reasons",
|
|
310
|
+
{},
|
|
311
|
+
"GET"
|
|
335
312
|
);
|
|
336
|
-
|
|
337
|
-
if (!response.records) {
|
|
313
|
+
if (!response || !response.records) {
|
|
338
314
|
throw new ApacuanaAPIError("Failed to fetch revocation reasons.");
|
|
339
315
|
}
|
|
340
|
-
|
|
341
|
-
return response.records;
|
|
316
|
+
return new ApacuanaSuccess(response.records);
|
|
342
317
|
} catch (error) {
|
|
343
318
|
if (error instanceof ApacuanaAPIError) {
|
|
344
319
|
throw error;
|
|
345
320
|
}
|
|
346
|
-
throw new Error(
|
|
347
|
-
|
|
348
|
-
|
|
321
|
+
throw new Error(`Failed to get revocation reasons: ${error.message}`);
|
|
322
|
+
}
|
|
323
|
+
};
|
|
324
|
+
|
|
325
|
+
const getRevocationReasonsOnPremise = async () => {
|
|
326
|
+
throw new ApacuanaAPIError(
|
|
327
|
+
"Getting revocation reasons is not supported for integration type: ONPREMISE",
|
|
328
|
+
501,
|
|
329
|
+
"NOT_IMPLEMENTED"
|
|
330
|
+
);
|
|
331
|
+
};
|
|
332
|
+
|
|
333
|
+
export const getRevocationReasons = async () => {
|
|
334
|
+
const { integrationType } = getConfig();
|
|
335
|
+
|
|
336
|
+
if (integrationType === INTEGRATION_TYPE.ONBOARDING) {
|
|
337
|
+
return getRevocationReasonsOnBoarding();
|
|
338
|
+
}
|
|
339
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (integrationType === INTEGRATION_TYPE.ONPREMISE) {
|
|
340
|
+
return getRevocationReasonsOnPremise();
|
|
349
341
|
}
|
|
342
|
+
<span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
|
|
343
|
+
`Unsupported integration type: ${integrationType}`,
|
|
344
|
+
400,
|
|
345
|
+
"UNSUPPORTED_INTEGRATION_TYPE"
|
|
346
|
+
);
|
|
350
347
|
};
|
|
351
348
|
</pre></td></tr></table></pre>
|
|
352
349
|
|
|
@@ -355,7 +352,7 @@ export const getRevocationReasons = async () => {
|
|
|
355
352
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
356
353
|
Code coverage generated by
|
|
357
354
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
358
|
-
at 2025-09-
|
|
355
|
+
at 2025-09-11T22:20:22.994Z
|
|
359
356
|
</div>
|
|
360
357
|
<script src="../../prettify.js"></script>
|
|
361
358
|
<script>
|