apacuana-sdk-core 1.12.0 → 1.16.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apacuana-sdk-core",
3
- "version": "1.12.0",
3
+ "version": "1.16.0",
4
4
  "description": "Core SDK para interacciones con las APIs de Apacuana.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -100,11 +100,16 @@ const encryptedCsr = (csr, encryptKey = KEY_HEX) => {
100
100
  const createPayloadGetDigest = (signData) => {
101
101
  const formData = new FormData();
102
102
 
103
- // Iterate over the object's own properties
104
103
  Object.keys(signData).forEach((key) => {
105
- // Conditionally handle the 'document' field
106
-
107
- if (key === "document" && signData[key] instanceof File) {
104
+ const value = signData[key];
105
+ const isRNFile =
106
+ value &&
107
+ typeof value === "object" &&
108
+ value.uri &&
109
+ value.name &&
110
+ value.type;
111
+
112
+ if (key === "document" && (signData[key] instanceof File || isRNFile)) {
108
113
  // Append the file directly
109
114
  formData.append(key, signData[key]);
110
115
  } else if (key === "cert") {
@@ -129,7 +134,6 @@ const validateOnBoardingSignerData = (signerData) => {
129
134
  );
130
135
  }
131
136
 
132
- // Limpia 'reference' si es inválido o está vacío.
133
137
  if (
134
138
  !validatedSignerData.reference ||
135
139
  typeof validatedSignerData.reference !== "string" ||
@@ -137,14 +141,22 @@ const validateOnBoardingSignerData = (signerData) => {
137
141
  ) {
138
142
  delete validatedSignerData.reference;
139
143
  }
140
-
141
- // Limpia 'file' si no es una instancia de File.
142
144
  if (
143
145
  typeof File === "undefined" ||
144
146
  !validatedSignerData.file ||
145
147
  !(validatedSignerData.file instanceof File)
146
148
  ) {
147
- delete validatedSignerData.file;
149
+ const value = validatedSignerData.file;
150
+ const isRNFile =
151
+ value &&
152
+ typeof value === "object" &&
153
+ value.uri &&
154
+ value.name &&
155
+ value.type;
156
+
157
+ if (!isRNFile) {
158
+ delete validatedSignerData.file;
159
+ }
148
160
  }
149
161
 
150
162
  // Valida que solo uno de los dos campos exista después de la limpieza.
@@ -229,9 +241,17 @@ const validateOnBoardingSignerData = (signerData) => {
229
241
 
230
242
  const formData = new FormData();
231
243
  Object.keys(validatedSignerData).forEach((key) => {
244
+ const value = validatedSignerData[key];
245
+ const isRNFile =
246
+ value &&
247
+ typeof value === "object" &&
248
+ value.uri &&
249
+ value.name &&
250
+ value.type;
251
+
232
252
  if (key === "signature") {
233
253
  formData.append(key, JSON.stringify(validatedSignerData[key]));
234
- } else if (key === "file") {
254
+ } else if (key === "file" || isRNFile) {
235
255
  formData.append("document", validatedSignerData[key]);
236
256
  } else if (validatedSignerData[key] !== undefined) {
237
257
  formData.append(key, validatedSignerData[key]);
@@ -356,7 +376,11 @@ const validateOnBoardingSignDocumentData = (signData) => {
356
376
  );
357
377
  formData.append("publickey", cert);
358
378
  formData.append("signeddigest", signedDigest);
359
- if (signData.document && signData.document instanceof File) {
379
+ const value = signData.document;
380
+ const isRNFile =
381
+ value && typeof value === "object" && value.uri && value.name && value.type;
382
+
383
+ if (signData.document && (signData.document instanceof File || isRNFile)) {
360
384
  formData.append("document", signData.document);
361
385
  }
362
386