apacuana-sdk-core 0.2.0 → 0.4.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 +64 -15
- package/coverage/clover.xml +155 -121
- package/coverage/coverage-final.json +8 -8
- package/coverage/lcov-report/block-navigation.js +1 -1
- package/coverage/lcov-report/index.html +30 -30
- package/coverage/lcov-report/sorter.js +21 -7
- package/coverage/lcov-report/src/api/certs.js.html +73 -28
- package/coverage/lcov-report/src/api/index.html +31 -31
- package/coverage/lcov-report/src/api/revocations.js.html +12 -15
- package/coverage/lcov-report/src/api/signatures.js.html +186 -159
- package/coverage/lcov-report/src/api/users.js.html +24 -63
- 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 +6 -3
- package/coverage/lcov-report/src/utils/constant.js.html +4 -4
- package/coverage/lcov-report/src/utils/helpers.js.html +101 -50
- package/coverage/lcov-report/src/utils/httpClient.js.html +1 -1
- package/coverage/lcov-report/src/utils/index.html +19 -19
- package/coverage/lcov.info +293 -221
- package/dist/api/certs.d.ts +8 -0
- package/dist/api/revocations.d.ts +7 -0
- package/dist/api/signatures.d.ts +16 -0
- package/dist/api/users.d.ts +15 -0
- package/dist/config/index.d.ts +11 -0
- package/dist/errors/index.d.ts +10 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.js +252 -251
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +252 -251
- package/dist/index.mjs.map +1 -1
- package/dist/utils/constant.d.ts +18 -0
- package/dist/utils/helpers.d.ts +21 -0
- package/dist/utils/httpClient.d.ts +3 -0
- package/package.json +9 -4
- package/src/api/certs.js +25 -10
- package/src/api/revocations.js +10 -11
- package/src/api/signatures.js +106 -97
- package/src/api/users.js +16 -29
- package/src/index.js +2 -1
- package/src/utils/helpers.js +17 -0
- package/tests/api/certs.test.js +58 -74
- package/tests/api/signatures.test.js +18 -73
- package/tests/api/users.test.js +10 -10
- package/tsconfig.json +15 -0
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
26
|
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>13/13</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">91.66% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>12
|
|
35
|
+
<span class='fraction'>11/12</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>13/13</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -125,20 +125,7 @@
|
|
|
125
125
|
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
126
|
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
127
|
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
-
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
-
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
-
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
-
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
-
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
-
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
-
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
-
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
-
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
-
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
-
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
-
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
-
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
-
<a name='L76'></a><a href='#L76'>76</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
128
|
+
<a name='L63'></a><a href='#L63'>63</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
142
129
|
<span class="cline-any cline-neutral"> </span>
|
|
143
130
|
<span class="cline-any cline-neutral"> </span>
|
|
144
131
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -153,15 +140,6 @@
|
|
|
153
140
|
<span class="cline-any cline-neutral"> </span>
|
|
154
141
|
<span class="cline-any cline-yes">1x</span>
|
|
155
142
|
<span class="cline-any cline-yes">5x</span>
|
|
156
|
-
<span class="cline-any cline-yes">5x</span>
|
|
157
|
-
<span class="cline-any cline-neutral"> </span>
|
|
158
|
-
<span class="cline-any cline-neutral"> </span>
|
|
159
|
-
<span class="cline-any cline-neutral"> </span>
|
|
160
|
-
<span class="cline-any cline-neutral"> </span>
|
|
161
|
-
<span class="cline-any cline-yes">5x</span>
|
|
162
|
-
<span class="cline-any cline-neutral"> </span>
|
|
163
|
-
<span class="cline-any cline-yes">5x</span>
|
|
164
|
-
<span class="cline-any cline-neutral"> </span>
|
|
165
143
|
<span class="cline-any cline-neutral"> </span>
|
|
166
144
|
<span class="cline-any cline-yes">5x</span>
|
|
167
145
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -169,7 +147,6 @@
|
|
|
169
147
|
<span class="cline-any cline-neutral"> </span>
|
|
170
148
|
<span class="cline-any cline-neutral"> </span>
|
|
171
149
|
<span class="cline-any cline-neutral"> </span>
|
|
172
|
-
<span class="cline-any cline-yes">4x</span>
|
|
173
150
|
<span class="cline-any cline-neutral"> </span>
|
|
174
151
|
<span class="cline-any cline-neutral"> </span>
|
|
175
152
|
<span class="cline-any cline-yes">4x</span>
|
|
@@ -177,14 +154,14 @@
|
|
|
177
154
|
<span class="cline-any cline-neutral"> </span>
|
|
178
155
|
<span class="cline-any cline-neutral"> </span>
|
|
179
156
|
<span class="cline-any cline-neutral"> </span>
|
|
157
|
+
<span class="cline-any cline-yes">4x</span>
|
|
158
|
+
<span class="cline-any cline-yes">4x</span>
|
|
180
159
|
<span class="cline-any cline-neutral"> </span>
|
|
181
160
|
<span class="cline-any cline-neutral"> </span>
|
|
182
161
|
<span class="cline-any cline-neutral"> </span>
|
|
183
162
|
<span class="cline-any cline-neutral"> </span>
|
|
184
|
-
<span class="cline-any cline-yes">2x</span>
|
|
185
163
|
<span class="cline-any cline-neutral"> </span>
|
|
186
164
|
<span class="cline-any cline-yes">2x</span>
|
|
187
|
-
<span class="cline-any cline-neutral"> </span>
|
|
188
165
|
<span class="cline-any cline-yes">1x</span>
|
|
189
166
|
<span class="cline-any cline-neutral"> </span>
|
|
190
167
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -198,9 +175,6 @@
|
|
|
198
175
|
<span class="cline-any cline-neutral"> </span>
|
|
199
176
|
<span class="cline-any cline-neutral"> </span>
|
|
200
177
|
<span class="cline-any cline-neutral"> </span>
|
|
201
|
-
<span class="cline-any cline-neutral"> </span>
|
|
202
|
-
<span class="cline-any cline-neutral"> </span>
|
|
203
|
-
<span class="cline-any cline-yes">3x</span>
|
|
204
178
|
<span class="cline-any cline-yes">3x</span>
|
|
205
179
|
<span class="cline-any cline-yes">2x</span>
|
|
206
180
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -222,46 +196,36 @@ import { getConfig } from "../config/index";
|
|
|
222
196
|
* Este método es útil para endpoints que requieren datos en el cuerpo de la petición
|
|
223
197
|
* para buscar un usuario, como un ID de sesión o un token de acceso.
|
|
224
198
|
*
|
|
225
|
-
* @returns {Promise<object>} Objeto con los
|
|
199
|
+
* @returns {Promise<{token: string, userData: object, success: boolean}>} Objeto con el token de sesión, los datos del usuario y un indicador de éxito.
|
|
226
200
|
* @throws {Error} Si los parámetros de entrada son inválidos.
|
|
227
201
|
* @throws {ApacuanaAPIError} Si ocurre un error en la API de Apacuana.
|
|
228
202
|
*/
|
|
229
203
|
const getCustomer = async () => {
|
|
230
204
|
const { verificationId, customerId } = getConfig();
|
|
205
|
+
|
|
206
|
+
if (!verificationId || !customerId) {
|
|
207
|
+
throw new ApacuanaAPIError(
|
|
208
|
+
"Both 'verificationId' and 'customerId' must be configured.",
|
|
209
|
+
400,
|
|
210
|
+
"CONFIGURATION_ERROR"
|
|
211
|
+
);
|
|
212
|
+
}
|
|
213
|
+
|
|
231
214
|
const body = {
|
|
232
215
|
verificationid: verificationId,
|
|
233
216
|
customerid: customerId,
|
|
234
217
|
};
|
|
235
|
-
// eslint-disable-next-line no-console
|
|
236
|
-
console.log("-> Función 'getCustomer' ejecutada.");
|
|
237
|
-
// eslint-disable-next-line no-console
|
|
238
|
-
console.log("Parámetros recibidos para buscar usuario:", body);
|
|
239
|
-
|
|
240
|
-
// 1. Validación de Parámetros de Entrada (Lado del SDK)
|
|
241
|
-
if (!body || !body.verificationid || !body.customerid) {
|
|
242
|
-
throw new Error(
|
|
243
|
-
"El 'body' con 'userId' es un parámetro requerido para getCustomer."
|
|
244
|
-
);
|
|
245
|
-
}
|
|
246
218
|
|
|
247
219
|
try {
|
|
248
|
-
// 2. Realizar la Llamada al Backend a través del HttpClient
|
|
249
|
-
// Usamos POST ya que la búsqueda podría requerir datos sensibles o complejos en el cuerpo.
|
|
250
220
|
const response = await httpRequest(
|
|
251
|
-
"services/api/register/init",
|
|
252
|
-
body,
|
|
221
|
+
"services/api/register/init",
|
|
222
|
+
body,
|
|
253
223
|
"POST"
|
|
254
224
|
);
|
|
255
|
-
|
|
256
|
-
// 3. Procesar la Respuesta del Backend
|
|
257
|
-
// Asumiendo que la respuesta exitosa del backend incluye un objeto 'user'
|
|
258
|
-
// eslint-disable-next-line no-console
|
|
259
|
-
console.log("Respuesta del servidor para el token:", response);
|
|
260
225
|
|
|
261
226
|
if (!response.sessionid || !response.entry) {
|
|
262
|
-
// Si el backend no devuelve el objeto 'user' esperado
|
|
263
227
|
throw new ApacuanaAPIError(
|
|
264
|
-
"
|
|
228
|
+
"The API response does not contain the user.",
|
|
265
229
|
200,
|
|
266
230
|
"INVALID_API_RESPONSE"
|
|
267
231
|
);
|
|
@@ -271,17 +235,14 @@ const getCustomer = async () => {
|
|
|
271
235
|
token: response.sessionid,
|
|
272
236
|
userData: response.entry,
|
|
273
237
|
success: true,
|
|
274
|
-
};
|
|
238
|
+
};
|
|
275
239
|
} catch (error) {
|
|
276
|
-
// 4. Manejo de Errores
|
|
277
|
-
// eslint-disable-next-line no-console
|
|
278
|
-
console.error("Error en getCustomer:", error);
|
|
279
240
|
if (error instanceof ApacuanaAPIError) {
|
|
280
241
|
throw error;
|
|
281
242
|
}
|
|
282
243
|
throw new ApacuanaAPIError(
|
|
283
|
-
`
|
|
284
|
-
error.message || <span class="branch-1 cbranch-no" title="branch not covered" >"
|
|
244
|
+
`Unexpected failure getting token: ${
|
|
245
|
+
error.message || <span class="branch-1 cbranch-no" title="branch not covered" >"Unknown error"</span>
|
|
285
246
|
}`
|
|
286
247
|
);
|
|
287
248
|
}
|
|
@@ -295,7 +256,7 @@ export default getCustomer;
|
|
|
295
256
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
296
257
|
Code coverage generated by
|
|
297
258
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
298
|
-
at 2025-08-
|
|
259
|
+
at 2025-08-25T16:11:28.089Z
|
|
299
260
|
</div>
|
|
300
261
|
<script src="../../prettify.js"></script>
|
|
301
262
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at 2025-08-
|
|
104
|
+
at 2025-08-25T16:11:28.089Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -193,7 +193,7 @@ export const getConfig = <span class="fstat-no" title="function not covered" >()
|
|
|
193
193
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
194
194
|
Code coverage generated by
|
|
195
195
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
196
|
-
at 2025-08-
|
|
196
|
+
at 2025-08-25T16:11:28.089Z
|
|
197
197
|
</div>
|
|
198
198
|
<script src="../../prettify.js"></script>
|
|
199
199
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at 2025-08-
|
|
104
|
+
at 2025-08-25T16:11:28.089Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -91,15 +91,15 @@
|
|
|
91
91
|
<span class="cline-any cline-neutral"> </span>
|
|
92
92
|
<span class="cline-any cline-neutral"> </span>
|
|
93
93
|
<span class="cline-any cline-neutral"> </span>
|
|
94
|
-
<span class="cline-any cline-yes">
|
|
95
|
-
<span class="cline-any cline-yes">
|
|
96
|
-
<span class="cline-any cline-yes">
|
|
97
|
-
<span class="cline-any cline-yes">
|
|
98
|
-
<span class="cline-any cline-yes">
|
|
94
|
+
<span class="cline-any cline-yes">21x</span>
|
|
95
|
+
<span class="cline-any cline-yes">21x</span>
|
|
96
|
+
<span class="cline-any cline-yes">21x</span>
|
|
97
|
+
<span class="cline-any cline-yes">21x</span>
|
|
98
|
+
<span class="cline-any cline-yes">21x</span>
|
|
99
99
|
<span class="cline-any cline-neutral"> </span>
|
|
100
100
|
<span class="cline-any cline-neutral"> </span>
|
|
101
|
-
<span class="cline-any cline-yes">
|
|
102
|
-
<span class="cline-any cline-yes">
|
|
101
|
+
<span class="cline-any cline-yes">21x</span>
|
|
102
|
+
<span class="cline-any cline-yes">21x</span>
|
|
103
103
|
<span class="cline-any cline-neutral"> </span>
|
|
104
104
|
<span class="cline-any cline-neutral"> </span>
|
|
105
105
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -133,7 +133,7 @@ export default ApacuanaAPIError;
|
|
|
133
133
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
134
134
|
Code coverage generated by
|
|
135
135
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
136
|
-
at 2025-08-
|
|
136
|
+
at 2025-08-25T16:11:28.089Z
|
|
137
137
|
</div>
|
|
138
138
|
<script src="../../prettify.js"></script>
|
|
139
139
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at 2025-08-
|
|
104
|
+
at 2025-08-25T16:11:28.089Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -133,7 +133,8 @@
|
|
|
133
133
|
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
134
|
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
135
|
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
-
<a name='L71'></a><a href='#L71'>71</a
|
|
136
|
+
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
+
<a name='L72'></a><a href='#L72'>72</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
137
138
|
<span class="cline-any cline-neutral"> </span>
|
|
138
139
|
<span class="cline-any cline-neutral"> </span>
|
|
139
140
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -203,11 +204,12 @@
|
|
|
203
204
|
<span class="cline-any cline-neutral"> </span>
|
|
204
205
|
<span class="cline-any cline-neutral"> </span>
|
|
205
206
|
<span class="cline-any cline-neutral"> </span>
|
|
207
|
+
<span class="cline-any cline-neutral"> </span>
|
|
206
208
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { setConfig, getConfig } from "./config/index";
|
|
207
209
|
import { initHttpClient, setAuthToken } from "./utils/httpClient";
|
|
208
210
|
import getCustomer from "./api/users";
|
|
209
211
|
import requestRevocation from "./api/revocations";
|
|
210
|
-
import { getCertStatus } from "./api/certs";
|
|
212
|
+
import { generateCert, getCertStatus } from "./api/certs";
|
|
211
213
|
import { addSigner, getDocs } from "./api/signatures";
|
|
212
214
|
|
|
213
215
|
const apacuana = {
|
|
@@ -270,6 +272,7 @@ const apacuana = {
|
|
|
270
272
|
getCustomer,
|
|
271
273
|
addSigner,
|
|
272
274
|
getDocs,
|
|
275
|
+
generateCert,
|
|
273
276
|
};
|
|
274
277
|
|
|
275
278
|
export default apacuana;
|
|
@@ -280,7 +283,7 @@ export default apacuana;
|
|
|
280
283
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
281
284
|
Code coverage generated by
|
|
282
285
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
283
|
-
at 2025-08-
|
|
286
|
+
at 2025-08-25T16:11:28.089Z
|
|
284
287
|
</div>
|
|
285
288
|
<script src="../prettify.js"></script>
|
|
286
289
|
<script>
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
84
|
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
85
|
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
-
<a name='L21'></a><a href='#L21'>21</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">6x</span>
|
|
87
87
|
<span class="cline-any cline-neutral"> </span>
|
|
88
88
|
<span class="cline-any cline-neutral"> </span>
|
|
89
89
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -94,12 +94,12 @@
|
|
|
94
94
|
<span class="cline-any cline-neutral"> </span>
|
|
95
95
|
<span class="cline-any cline-neutral"> </span>
|
|
96
96
|
<span class="cline-any cline-neutral"> </span>
|
|
97
|
-
<span class="cline-any cline-yes">
|
|
97
|
+
<span class="cline-any cline-yes">6x</span>
|
|
98
98
|
<span class="cline-any cline-neutral"> </span>
|
|
99
99
|
<span class="cline-any cline-neutral"> </span>
|
|
100
100
|
<span class="cline-any cline-neutral"> </span>
|
|
101
101
|
<span class="cline-any cline-neutral"> </span>
|
|
102
|
-
<span class="cline-any cline-yes">
|
|
102
|
+
<span class="cline-any cline-yes">6x</span>
|
|
103
103
|
<span class="cline-any cline-neutral"> </span>
|
|
104
104
|
<span class="cline-any cline-neutral"> </span>
|
|
105
105
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -130,7 +130,7 @@ export const INTEGRATION_TYPE = {
|
|
|
130
130
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
131
131
|
Code coverage generated by
|
|
132
132
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
133
|
-
at 2025-08-
|
|
133
|
+
at 2025-08-25T16:11:28.089Z
|
|
134
134
|
</div>
|
|
135
135
|
<script src="../../prettify.js"></script>
|
|
136
136
|
<script>
|