@nocios/crudify-ui 1.2.12 → 1.2.16
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/dist/{CrudifyDataProvider-4FNIH3Q3.mjs → CrudifyDataProvider-KKZJMQV2.mjs} +1 -1
- package/dist/{chunk-KXTVLFHE.mjs → chunk-42KLTBFN.mjs} +38 -149
- package/dist/index.d.mts +16 -16
- package/dist/index.d.ts +16 -16
- package/dist/index.js +38 -149
- package/dist/index.mjs +4 -4
- package/package.json +1 -1
|
@@ -39,11 +39,6 @@ var _ConfigurationManager = class _ConfigurationManager {
|
|
|
39
39
|
this.configError = null;
|
|
40
40
|
const envConfig = this.getEnvConfig();
|
|
41
41
|
const cookieConfig = this.getCookieConfig();
|
|
42
|
-
console.log("\u{1F527} ConfigurationManager - Configuration sources:", {
|
|
43
|
-
props: propsConfig,
|
|
44
|
-
env: envConfig,
|
|
45
|
-
cookies: cookieConfig
|
|
46
|
-
});
|
|
47
42
|
const configSource = {
|
|
48
43
|
env: "default",
|
|
49
44
|
publicApiKey: "default",
|
|
@@ -60,7 +55,7 @@ var _ConfigurationManager = class _ConfigurationManager {
|
|
|
60
55
|
const colors = this.resolveValue("colors", propsConfig.colors, envConfig.colors, cookieConfig.colors, {}, configSource);
|
|
61
56
|
if (!publicApiKey) {
|
|
62
57
|
throw new Error(
|
|
63
|
-
"publicApiKey
|
|
58
|
+
"publicApiKey es requerido. Proporci\xF3nalo v\xEDa:\n1. Props: <CrudifyDataProvider publicApiKey={...} />\n2. Variable de entorno: VITE_TEST_PUBLIC_API_KEY\n3. Cookie: publicApiKey"
|
|
64
59
|
);
|
|
65
60
|
}
|
|
66
61
|
this.resolvedConfig = {
|
|
@@ -77,19 +72,10 @@ var _ConfigurationManager = class _ConfigurationManager {
|
|
|
77
72
|
cookies: cookieConfig
|
|
78
73
|
}
|
|
79
74
|
};
|
|
80
|
-
console.log("\u{1F527} ConfigurationManager - Configuration resolved:", {
|
|
81
|
-
config: {
|
|
82
|
-
env: this.resolvedConfig.env,
|
|
83
|
-
publicApiKey: `${this.resolvedConfig.publicApiKey.substring(0, 8)}...`,
|
|
84
|
-
appName: this.resolvedConfig.appName,
|
|
85
|
-
loginActionsCount: this.resolvedConfig.loginActions.length
|
|
86
|
-
},
|
|
87
|
-
sources: this.resolvedConfig.configSource
|
|
88
|
-
});
|
|
89
75
|
return this.resolvedConfig;
|
|
90
76
|
} catch (error) {
|
|
91
|
-
this.configError = error instanceof Error ? error.message : "
|
|
92
|
-
console.error("
|
|
77
|
+
this.configError = error instanceof Error ? error.message : "Error de configuraci\xF3n desconocido";
|
|
78
|
+
console.error("ConfigurationManager - Error de configuraci\xF3n:", this.configError);
|
|
93
79
|
this.resolvedConfig = {
|
|
94
80
|
env: "prod",
|
|
95
81
|
publicApiKey: "",
|
|
@@ -143,15 +129,13 @@ var _ConfigurationManager = class _ConfigurationManager {
|
|
|
143
129
|
return defaultValue;
|
|
144
130
|
}
|
|
145
131
|
/**
|
|
146
|
-
*
|
|
132
|
+
* Obtener configuración de variables de entorno
|
|
147
133
|
*/
|
|
148
134
|
getEnvConfig() {
|
|
149
135
|
const config = {};
|
|
150
136
|
try {
|
|
151
|
-
console.log("\u{1F527} ConfigurationManager - Reading environment variables");
|
|
152
137
|
if (typeof import.meta !== "undefined" && import.meta.env) {
|
|
153
138
|
const vitEnv = import.meta.env;
|
|
154
|
-
console.log("\u{1F527} ConfigurationManager - Vite import.meta.env available:", !!vitEnv);
|
|
155
139
|
const env = vitEnv.VITE_TEST_ENV;
|
|
156
140
|
if (env && ["dev", "stg", "prod"].includes(env)) {
|
|
157
141
|
config.env = env;
|
|
@@ -177,14 +161,12 @@ var _ConfigurationManager = class _ConfigurationManager {
|
|
|
177
161
|
try {
|
|
178
162
|
config.colors = JSON.parse(colors);
|
|
179
163
|
} catch (error) {
|
|
180
|
-
console.warn("
|
|
164
|
+
console.warn("ConfigurationManager - Error al parsear colors desde env:", error);
|
|
181
165
|
}
|
|
182
166
|
}
|
|
183
167
|
}
|
|
184
|
-
console.log("\u{1F527} ConfigurationManager - Vite env config:", config);
|
|
185
168
|
if (typeof globalThis !== "undefined" && globalThis.process?.env) {
|
|
186
169
|
const processEnv = globalThis.process.env;
|
|
187
|
-
console.log("\u{1F527} ConfigurationManager - process.env available:", !!processEnv);
|
|
188
170
|
const env = processEnv.VITE_TEST_ENV;
|
|
189
171
|
if (env && ["dev", "stg", "prod"].includes(env) && !config.env) {
|
|
190
172
|
config.env = env;
|
|
@@ -210,62 +192,53 @@ var _ConfigurationManager = class _ConfigurationManager {
|
|
|
210
192
|
try {
|
|
211
193
|
config.colors = JSON.parse(colors);
|
|
212
194
|
} catch (error) {
|
|
213
|
-
console.warn("
|
|
195
|
+
console.warn("ConfigurationManager - Error al parsear colors desde process.env:", error);
|
|
214
196
|
}
|
|
215
197
|
}
|
|
216
198
|
}
|
|
217
|
-
console.log("\u{1F527} ConfigurationManager - Final env config:", config);
|
|
218
199
|
} catch (error) {
|
|
219
|
-
console.warn("
|
|
200
|
+
console.warn("ConfigurationManager - Variables de entorno no disponibles:", error);
|
|
220
201
|
}
|
|
221
202
|
return config;
|
|
222
203
|
}
|
|
223
204
|
/**
|
|
224
|
-
*
|
|
205
|
+
* Obtener configuración de cookies (soporte multi-tenant)
|
|
225
206
|
*/
|
|
226
207
|
getCookieConfig() {
|
|
227
208
|
const config = {};
|
|
228
209
|
try {
|
|
229
|
-
console.log("\u{1F527} ConfigurationManager - Reading cookies from document.cookie:", document.cookie);
|
|
230
210
|
const env = getCookie("environment");
|
|
231
|
-
console.log("\u{1F527} ConfigurationManager - Cookie environment:", env);
|
|
232
211
|
if (env && ["dev", "stg", "prod"].includes(env)) {
|
|
233
212
|
config.env = env;
|
|
234
213
|
}
|
|
235
214
|
const publicApiKey = getCookie("publicApiKey");
|
|
236
|
-
console.log("\u{1F527} ConfigurationManager - Cookie publicApiKey:", publicApiKey ? `${publicApiKey.substring(0, 8)}...` : null);
|
|
237
215
|
if (publicApiKey) {
|
|
238
216
|
config.publicApiKey = publicApiKey;
|
|
239
217
|
}
|
|
240
218
|
const appName = getCookie("appName");
|
|
241
|
-
console.log("\u{1F527} ConfigurationManager - Cookie appName:", appName);
|
|
242
219
|
if (appName) {
|
|
243
220
|
config.appName = decodeURIComponent(appName);
|
|
244
221
|
}
|
|
245
222
|
const loginActions = getCookie("loginActions");
|
|
246
|
-
console.log("\u{1F527} ConfigurationManager - Cookie loginActions:", loginActions);
|
|
247
223
|
if (loginActions) {
|
|
248
224
|
const decodedActions = decodeURIComponent(loginActions);
|
|
249
225
|
config.loginActions = decodedActions.split(",").map((action) => action.trim()).filter(Boolean);
|
|
250
226
|
}
|
|
251
227
|
const logo = getCookie("logo");
|
|
252
|
-
console.log("\u{1F527} ConfigurationManager - Cookie logo:", logo);
|
|
253
228
|
if (logo) {
|
|
254
229
|
config.logo = decodeURIComponent(logo);
|
|
255
230
|
}
|
|
256
231
|
const colors = getCookie("colors");
|
|
257
|
-
console.log("\u{1F527} ConfigurationManager - Cookie colors:", colors);
|
|
258
232
|
if (colors) {
|
|
259
233
|
try {
|
|
260
234
|
const decodedColors = decodeURIComponent(colors);
|
|
261
235
|
config.colors = JSON.parse(decodedColors);
|
|
262
236
|
} catch (error) {
|
|
263
|
-
console.warn("
|
|
237
|
+
console.warn("ConfigurationManager - Error al parsear colors desde cookie:", error);
|
|
264
238
|
}
|
|
265
239
|
}
|
|
266
|
-
console.log("\u{1F527} ConfigurationManager - Final cookie config:", config);
|
|
267
240
|
} catch (error) {
|
|
268
|
-
console.warn("
|
|
241
|
+
console.warn("ConfigurationManager - Error leyendo cookies:", error);
|
|
269
242
|
}
|
|
270
243
|
return config;
|
|
271
244
|
}
|
|
@@ -310,7 +283,6 @@ var _CrudifyInitializer = class _CrudifyInitializer {
|
|
|
310
283
|
config: null,
|
|
311
284
|
initializationPromise: null
|
|
312
285
|
};
|
|
313
|
-
console.log("\u{1F680} CrudifyInitializer - Instance created");
|
|
314
286
|
}
|
|
315
287
|
/**
|
|
316
288
|
* Singleton pattern to ensure global initialization coordination
|
|
@@ -328,27 +300,18 @@ var _CrudifyInitializer = class _CrudifyInitializer {
|
|
|
328
300
|
_CrudifyInitializer.instance = null;
|
|
329
301
|
}
|
|
330
302
|
/**
|
|
331
|
-
*
|
|
332
|
-
*
|
|
303
|
+
* Inicializar crudify con la configuración dada
|
|
304
|
+
* Este método es idempotente y thread-safe
|
|
333
305
|
*/
|
|
334
306
|
async initialize(config) {
|
|
335
|
-
console.log("\u{1F680} CrudifyInitializer - ENTRY_POINT - Received config:", {
|
|
336
|
-
env: config.env,
|
|
337
|
-
publicApiKey: config.publicApiKey ? `${config.publicApiKey.substring(0, 8)}...` : null,
|
|
338
|
-
appName: config.appName,
|
|
339
|
-
loginActionsCount: config.loginActions?.length || 0
|
|
340
|
-
});
|
|
341
307
|
if (this.state.isInitialized && this.isConfigurationSame(config)) {
|
|
342
|
-
console.log("\u{1F680} CrudifyInitializer - Already initialized with same config");
|
|
343
308
|
return;
|
|
344
309
|
}
|
|
345
310
|
if (this.state.isInitializing && this.state.initializationPromise) {
|
|
346
|
-
console.log("\u{1F680} CrudifyInitializer - Waiting for ongoing initialization");
|
|
347
311
|
await this.state.initializationPromise;
|
|
348
312
|
return;
|
|
349
313
|
}
|
|
350
314
|
if (this.state.isInitialized && !this.isConfigurationSame(config)) {
|
|
351
|
-
console.log("\u{1F680} CrudifyInitializer - Configuration changed, re-initializing");
|
|
352
315
|
this.reset();
|
|
353
316
|
}
|
|
354
317
|
this.state.isInitializing = true;
|
|
@@ -358,10 +321,9 @@ var _CrudifyInitializer = class _CrudifyInitializer {
|
|
|
358
321
|
await this.state.initializationPromise;
|
|
359
322
|
this.state.isInitialized = true;
|
|
360
323
|
this.state.config = { ...config };
|
|
361
|
-
console.log("\u{1F680} CrudifyInitializer - Initialization completed successfully");
|
|
362
324
|
} catch (error) {
|
|
363
|
-
this.state.initializationError = error instanceof Error ? error.message : "
|
|
364
|
-
console.error("
|
|
325
|
+
this.state.initializationError = error instanceof Error ? error.message : "Error de inicializaci\xF3n desconocido";
|
|
326
|
+
console.error("CrudifyInitializer - Inicializaci\xF3n fall\xF3:", this.state.initializationError);
|
|
365
327
|
throw error;
|
|
366
328
|
} finally {
|
|
367
329
|
this.state.isInitializing = false;
|
|
@@ -369,35 +331,25 @@ var _CrudifyInitializer = class _CrudifyInitializer {
|
|
|
369
331
|
}
|
|
370
332
|
}
|
|
371
333
|
/**
|
|
372
|
-
*
|
|
334
|
+
* Realizar el proceso de inicialización actual
|
|
373
335
|
*/
|
|
374
336
|
async performInitialization(config) {
|
|
375
337
|
if (!config.publicApiKey) {
|
|
376
|
-
throw new Error("publicApiKey
|
|
338
|
+
throw new Error("publicApiKey es requerido para la inicializaci\xF3n de crudify");
|
|
377
339
|
}
|
|
378
|
-
console.log("\u{1F680} CrudifyInitializer - Starting initialization with config:", {
|
|
379
|
-
env: config.env,
|
|
380
|
-
publicApiKey: `${config.publicApiKey.substring(0, 8)}...`,
|
|
381
|
-
appName: config.appName
|
|
382
|
-
});
|
|
383
340
|
try {
|
|
384
341
|
const environment = config.env || "prod";
|
|
385
|
-
console.log("\u{1F680} CrudifyInitializer - Step 1: Configuring environment:", environment);
|
|
386
342
|
await crudify.config(environment);
|
|
387
|
-
console.log("\u{1F680} CrudifyInitializer - Step 2: Initializing with API key");
|
|
388
343
|
await crudify.init(config.publicApiKey, "none");
|
|
389
|
-
console.log("\u{1F680} CrudifyInitializer - Step 3: Verifying initialization");
|
|
390
344
|
await this.verifyInitialization();
|
|
391
|
-
console.log("\u{1F680} CrudifyInitializer - All initialization steps completed");
|
|
392
345
|
} catch (error) {
|
|
393
|
-
console.error("\u{1F680} CrudifyInitializer - Initialization failed at step:", error);
|
|
394
346
|
throw new Error(
|
|
395
|
-
`Crudify
|
|
347
|
+
`Inicializaci\xF3n de Crudify fall\xF3: ${error instanceof Error ? error.message : "Error desconocido"}. Por favor revisa tu configuraci\xF3n (env: ${config.env || "prod"}, publicApiKey: ${config.publicApiKey ? "proporcionado" : "faltante"})`
|
|
396
348
|
);
|
|
397
349
|
}
|
|
398
350
|
}
|
|
399
351
|
/**
|
|
400
|
-
*
|
|
352
|
+
* Verificar que crudify esté correctamente inicializado revisando métodos principales
|
|
401
353
|
*/
|
|
402
354
|
async verifyInitialization() {
|
|
403
355
|
const requiredMethods = ["readItems", "readItem", "createItem", "updateItem", "deleteItem", "login", "transaction"];
|
|
@@ -409,23 +361,21 @@ var _CrudifyInitializer = class _CrudifyInitializer {
|
|
|
409
361
|
}
|
|
410
362
|
if (missingMethods.length > 0) {
|
|
411
363
|
throw new Error(
|
|
412
|
-
`Crudify
|
|
364
|
+
`Inicializaci\xF3n de Crudify incompleta. M\xE9todos faltantes: ${missingMethods.join(", ")}. Esto usualmente indica un problema de configuraci\xF3n o red.`
|
|
413
365
|
);
|
|
414
366
|
}
|
|
415
|
-
console.log("\u{1F680} CrudifyInitializer - Verification successful (test call skipped for performance)");
|
|
416
367
|
}
|
|
417
368
|
/**
|
|
418
|
-
*
|
|
369
|
+
* Verificar si la configuración dada es la misma que la actual
|
|
419
370
|
*/
|
|
420
371
|
isConfigurationSame(config) {
|
|
421
372
|
if (!this.state.config) return false;
|
|
422
373
|
return this.state.config.env === config.env && this.state.config.publicApiKey === config.publicApiKey;
|
|
423
374
|
}
|
|
424
375
|
/**
|
|
425
|
-
*
|
|
376
|
+
* Resetear el estado de inicialización (útil para testing o cambios de configuración)
|
|
426
377
|
*/
|
|
427
378
|
reset() {
|
|
428
|
-
console.log("\u{1F680} CrudifyInitializer - Resetting initialization state");
|
|
429
379
|
this.state = {
|
|
430
380
|
isInitialized: false,
|
|
431
381
|
isInitializing: false,
|
|
@@ -435,7 +385,7 @@ var _CrudifyInitializer = class _CrudifyInitializer {
|
|
|
435
385
|
};
|
|
436
386
|
}
|
|
437
387
|
/**
|
|
438
|
-
*
|
|
388
|
+
* Obtener el estado actual de inicialización
|
|
439
389
|
*/
|
|
440
390
|
getStatus() {
|
|
441
391
|
return {
|
|
@@ -446,33 +396,32 @@ var _CrudifyInitializer = class _CrudifyInitializer {
|
|
|
446
396
|
};
|
|
447
397
|
}
|
|
448
398
|
/**
|
|
449
|
-
*
|
|
399
|
+
* Verificar si crudify está listo para usar
|
|
450
400
|
*/
|
|
451
401
|
isReady() {
|
|
452
402
|
return this.state.isInitialized && !this.state.initializationError;
|
|
453
403
|
}
|
|
454
404
|
/**
|
|
455
|
-
*
|
|
405
|
+
* Obtener el error de inicialización actual, si existe
|
|
456
406
|
*/
|
|
457
407
|
getError() {
|
|
458
408
|
return this.state.initializationError;
|
|
459
409
|
}
|
|
460
410
|
/**
|
|
461
|
-
*
|
|
411
|
+
* Forzar re-inicialización (útil cuando la configuración cambia)
|
|
462
412
|
*/
|
|
463
413
|
async reinitialize(config) {
|
|
464
|
-
console.log("\u{1F680} CrudifyInitializer - Forcing re-initialization");
|
|
465
414
|
this.reset();
|
|
466
415
|
await this.initialize(config);
|
|
467
416
|
}
|
|
468
417
|
/**
|
|
469
|
-
*
|
|
418
|
+
* Verificar si la inicialización está actualmente en progreso
|
|
470
419
|
*/
|
|
471
420
|
isInitializing() {
|
|
472
421
|
return this.state.isInitializing;
|
|
473
422
|
}
|
|
474
423
|
/**
|
|
475
|
-
*
|
|
424
|
+
* Esperar a que cualquier inicialización en curso se complete
|
|
476
425
|
*/
|
|
477
426
|
async waitForInitialization() {
|
|
478
427
|
if (this.state.initializationPromise) {
|
|
@@ -1008,7 +957,6 @@ var CrudifyDataProvider = ({
|
|
|
1008
957
|
const [tokenExpiration, setTokenExpiration] = useState(null);
|
|
1009
958
|
const initializeConfiguration = useCallback(() => {
|
|
1010
959
|
try {
|
|
1011
|
-
console.log("\u{1F30D} CrudifyDataProvider - VERSION 1.2.4+ - Initializing configuration");
|
|
1012
960
|
const propsConfig = {
|
|
1013
961
|
env,
|
|
1014
962
|
publicApiKey,
|
|
@@ -1022,15 +970,10 @@ var CrudifyDataProvider = ({
|
|
|
1022
970
|
setConfig(resolvedConfig);
|
|
1023
971
|
setConfigError(error);
|
|
1024
972
|
setIsConfigured(configurationManager.isConfigured());
|
|
1025
|
-
console.log("\u{1F30D} CrudifyDataProvider - Configuration initialized:", {
|
|
1026
|
-
isConfigured: configurationManager.isConfigured(),
|
|
1027
|
-
error,
|
|
1028
|
-
sources: resolvedConfig.configSource
|
|
1029
|
-
});
|
|
1030
973
|
return resolvedConfig;
|
|
1031
974
|
} catch (error) {
|
|
1032
|
-
const errorMessage = error instanceof Error ? error.message : "
|
|
1033
|
-
console.error("
|
|
975
|
+
const errorMessage = error instanceof Error ? error.message : "Error en inicializaci\xF3n de configuraci\xF3n";
|
|
976
|
+
console.error("CrudifyDataProvider - Error de configuraci\xF3n:", errorMessage);
|
|
1034
977
|
setConfigError(errorMessage);
|
|
1035
978
|
setIsConfigured(false);
|
|
1036
979
|
return null;
|
|
@@ -1038,19 +981,12 @@ var CrudifyDataProvider = ({
|
|
|
1038
981
|
}, [env, publicApiKey, loginActions, appName, logo, colors]);
|
|
1039
982
|
const initializeCrudify = useCallback(async (resolvedConfig) => {
|
|
1040
983
|
if (!resolvedConfig || !resolvedConfig.publicApiKey) {
|
|
1041
|
-
setInitializationError("
|
|
984
|
+
setInitializationError("No se puede inicializar crudify sin configuraci\xF3n v\xE1lida");
|
|
1042
985
|
return;
|
|
1043
986
|
}
|
|
1044
987
|
try {
|
|
1045
988
|
setIsInitializing(true);
|
|
1046
989
|
setInitializationError(null);
|
|
1047
|
-
console.log("\u{1F680} CrudifyDataProvider - Starting crudify initialization");
|
|
1048
|
-
console.log("\u{1F680} CrudifyDataProvider - Resolved config being passed:", {
|
|
1049
|
-
env: resolvedConfig.env,
|
|
1050
|
-
publicApiKey: resolvedConfig.publicApiKey ? `${resolvedConfig.publicApiKey.substring(0, 8)}...` : null,
|
|
1051
|
-
appName: resolvedConfig.appName,
|
|
1052
|
-
loginActionsCount: resolvedConfig.loginActions.length
|
|
1053
|
-
});
|
|
1054
990
|
await crudifyInitializer.initialize({
|
|
1055
991
|
env: resolvedConfig.env,
|
|
1056
992
|
publicApiKey: resolvedConfig.publicApiKey,
|
|
@@ -1060,10 +996,9 @@ var CrudifyDataProvider = ({
|
|
|
1060
996
|
colors: resolvedConfig.colors
|
|
1061
997
|
});
|
|
1062
998
|
setIsInitialized(true);
|
|
1063
|
-
console.log("\u{1F680} CrudifyDataProvider - Crudify initialization completed");
|
|
1064
999
|
} catch (error) {
|
|
1065
|
-
const errorMessage = error instanceof Error ? error.message : "
|
|
1066
|
-
console.error("
|
|
1000
|
+
const errorMessage = error instanceof Error ? error.message : "Error en inicializaci\xF3n de Crudify";
|
|
1001
|
+
console.error("CrudifyDataProvider - Error de inicializaci\xF3n:", errorMessage);
|
|
1067
1002
|
setInitializationError(errorMessage);
|
|
1068
1003
|
setIsInitialized(false);
|
|
1069
1004
|
} finally {
|
|
@@ -1071,80 +1006,44 @@ var CrudifyDataProvider = ({
|
|
|
1071
1006
|
}
|
|
1072
1007
|
}, []);
|
|
1073
1008
|
const updateAuthenticationState = useCallback(() => {
|
|
1074
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Starting authentication state update");
|
|
1075
1009
|
try {
|
|
1076
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Getting token from TokenManager");
|
|
1077
1010
|
const currentToken = tokenManager.getToken();
|
|
1078
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Token retrieved:", !!currentToken);
|
|
1079
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Parsing token");
|
|
1080
1011
|
const parsedUser = tokenManager.parseToken();
|
|
1081
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Token parsed:", !!parsedUser);
|
|
1082
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Getting expiration");
|
|
1083
1012
|
const expiration = tokenManager.getTokenExpiration();
|
|
1084
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Expiration retrieved:", !!expiration);
|
|
1085
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Checking authentication");
|
|
1086
1013
|
const authenticated = tokenManager.isAuthenticated();
|
|
1087
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Authentication checked:", authenticated);
|
|
1088
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Updating state variables");
|
|
1089
1014
|
setTokenState(currentToken);
|
|
1090
1015
|
setUser(parsedUser);
|
|
1091
1016
|
setTokenExpiration(expiration);
|
|
1092
1017
|
setIsAuthenticated(authenticated);
|
|
1093
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Authentication state updated successfully:", {
|
|
1094
|
-
hasToken: !!currentToken,
|
|
1095
|
-
isAuthenticated: authenticated,
|
|
1096
|
-
userEmail: parsedUser?.email || null,
|
|
1097
|
-
expiration: expiration?.toISOString() || null
|
|
1098
|
-
});
|
|
1099
1018
|
} catch (error) {
|
|
1100
|
-
console.error("
|
|
1019
|
+
console.error("CrudifyDataProvider - Error actualizando estado de autenticaci\xF3n:", error);
|
|
1101
1020
|
}
|
|
1102
1021
|
}, []);
|
|
1103
1022
|
const setToken = useCallback((newToken) => {
|
|
1104
|
-
console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: ===== STARTING TOKEN SET =====");
|
|
1105
|
-
console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: New token:", newToken ? `${newToken.substring(0, 20)}...` : "null");
|
|
1106
|
-
console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: Setting token in TokenManager...");
|
|
1107
1023
|
tokenManager.setToken(newToken);
|
|
1108
|
-
console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: Updating state using newToken directly");
|
|
1109
1024
|
if (newToken) {
|
|
1110
1025
|
const parsedUser = tokenManager.parseToken(newToken);
|
|
1111
1026
|
const expiration = tokenManager.getTokenExpiration();
|
|
1112
1027
|
const authenticated = tokenManager.isTokenValid(newToken);
|
|
1113
|
-
console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: Setting state values:");
|
|
1114
|
-
console.log(" - setTokenState:", newToken ? `${newToken.substring(0, 20)}...` : "null");
|
|
1115
|
-
console.log(" - setUser:", parsedUser?.email || "null");
|
|
1116
|
-
console.log(" - setIsAuthenticated:", authenticated);
|
|
1117
1028
|
setTokenState(newToken);
|
|
1118
1029
|
setUser(parsedUser);
|
|
1119
1030
|
setTokenExpiration(expiration);
|
|
1120
1031
|
setIsAuthenticated(authenticated);
|
|
1121
|
-
console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: \u2705 Token set, state updated", {
|
|
1122
|
-
hasToken: true,
|
|
1123
|
-
isAuthenticated: authenticated,
|
|
1124
|
-
userEmail: parsedUser?.email || null
|
|
1125
|
-
});
|
|
1126
1032
|
} else {
|
|
1127
|
-
console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: Clearing all states");
|
|
1128
1033
|
setTokenState(null);
|
|
1129
1034
|
setUser(null);
|
|
1130
1035
|
setTokenExpiration(null);
|
|
1131
1036
|
setIsAuthenticated(false);
|
|
1132
|
-
console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: \u2705 Token cleared, state reset");
|
|
1133
1037
|
}
|
|
1134
|
-
console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: ===== TOKEN SET COMPLETE =====");
|
|
1135
1038
|
}, []);
|
|
1136
1039
|
const logout = useCallback(() => {
|
|
1137
|
-
console.log("\u{1F510} CrudifyDataProvider - LOGOUT_CALLBACK: Logging out user");
|
|
1138
1040
|
tokenManager.clearToken();
|
|
1139
|
-
console.log("\u{1F510} CrudifyDataProvider - LOGOUT_CALLBACK: Updating state directly");
|
|
1140
1041
|
setTokenState(null);
|
|
1141
1042
|
setUser(null);
|
|
1142
1043
|
setTokenExpiration(null);
|
|
1143
1044
|
setIsAuthenticated(false);
|
|
1144
|
-
console.log("\u{1F510} CrudifyDataProvider - LOGOUT_CALLBACK: User logged out, state cleared");
|
|
1145
1045
|
}, []);
|
|
1146
1046
|
const refreshConfig = useCallback(() => {
|
|
1147
|
-
console.log("\u{1F30D} CrudifyDataProvider - Refreshing configuration");
|
|
1148
1047
|
configurationManager.clearConfig();
|
|
1149
1048
|
const newConfig = initializeConfiguration();
|
|
1150
1049
|
if (newConfig && newConfig.publicApiKey) {
|
|
@@ -1153,10 +1052,9 @@ var CrudifyDataProvider = ({
|
|
|
1153
1052
|
}, [initializeConfiguration, initializeCrudify]);
|
|
1154
1053
|
const reinitialize = useCallback(async () => {
|
|
1155
1054
|
if (!config || !config.publicApiKey) {
|
|
1156
|
-
console.warn("
|
|
1055
|
+
console.warn("CrudifyDataProvider - No se puede reinicializar sin configuraci\xF3n v\xE1lida");
|
|
1157
1056
|
return;
|
|
1158
1057
|
}
|
|
1159
|
-
console.log("\u{1F680} CrudifyDataProvider - Force reinitializing crudify");
|
|
1160
1058
|
crudifyInitializer.reset();
|
|
1161
1059
|
await initializeCrudify(config);
|
|
1162
1060
|
}, [config, initializeCrudify]);
|
|
@@ -1195,43 +1093,34 @@ var CrudifyDataProvider = ({
|
|
|
1195
1093
|
};
|
|
1196
1094
|
}, [isConfigured, configError, isInitialized, isInitializing, initializationError, isAuthenticated, config, token, user, tokenExpiration]);
|
|
1197
1095
|
useEffect(() => {
|
|
1198
|
-
console.log("\u{1F30D} CrudifyDataProvider - Provider mounting, starting initialization");
|
|
1199
1096
|
const resolvedConfig = initializeConfiguration();
|
|
1200
|
-
console.log("\u{1F30D} CrudifyDataProvider - Resolved config from initializeConfiguration:", {
|
|
1201
|
-
env: resolvedConfig?.env,
|
|
1202
|
-
publicApiKey: resolvedConfig?.publicApiKey ? `${resolvedConfig.publicApiKey.substring(0, 8)}...` : null,
|
|
1203
|
-
appName: resolvedConfig?.appName,
|
|
1204
|
-
loginActionsCount: resolvedConfig?.loginActions.length || 0
|
|
1205
|
-
});
|
|
1206
1097
|
updateAuthenticationState();
|
|
1207
1098
|
if (resolvedConfig && resolvedConfig.publicApiKey) {
|
|
1208
1099
|
initializeCrudify(resolvedConfig);
|
|
1209
1100
|
}
|
|
1210
1101
|
return () => {
|
|
1211
|
-
console.log("\u{1F30D} CrudifyDataProvider - Provider unmounting, cleaning up");
|
|
1212
1102
|
tokenManager.cleanup();
|
|
1213
1103
|
};
|
|
1214
1104
|
}, []);
|
|
1215
1105
|
useEffect(() => {
|
|
1216
|
-
console.log("\u{1F510} CrudifyDataProvider - INITIAL_AUTH_EFFECT: Loading initial authentication state");
|
|
1217
1106
|
updateAuthenticationState();
|
|
1218
1107
|
}, []);
|
|
1219
1108
|
const contextValue = {
|
|
1220
|
-
//
|
|
1109
|
+
// Configuración
|
|
1221
1110
|
config,
|
|
1222
1111
|
isConfigured,
|
|
1223
1112
|
configError,
|
|
1224
1113
|
configSource: config ? JSON.stringify(config.configSource) : "none",
|
|
1225
|
-
//
|
|
1114
|
+
// Inicialización
|
|
1226
1115
|
isInitialized,
|
|
1227
1116
|
isInitializing,
|
|
1228
1117
|
initializationError,
|
|
1229
|
-
//
|
|
1118
|
+
// Autenticación
|
|
1230
1119
|
isAuthenticated,
|
|
1231
1120
|
token,
|
|
1232
1121
|
user,
|
|
1233
1122
|
tokenExpiration,
|
|
1234
|
-
//
|
|
1123
|
+
// Acciones
|
|
1235
1124
|
setToken,
|
|
1236
1125
|
logout,
|
|
1237
1126
|
refreshConfig,
|
package/dist/index.d.mts
CHANGED
|
@@ -191,11 +191,11 @@ declare class ConfigurationManager {
|
|
|
191
191
|
*/
|
|
192
192
|
private resolveValue;
|
|
193
193
|
/**
|
|
194
|
-
*
|
|
194
|
+
* Obtener configuración de variables de entorno
|
|
195
195
|
*/
|
|
196
196
|
private getEnvConfig;
|
|
197
197
|
/**
|
|
198
|
-
*
|
|
198
|
+
* Obtener configuración de cookies (soporte multi-tenant)
|
|
199
199
|
*/
|
|
200
200
|
private getCookieConfig;
|
|
201
201
|
/**
|
|
@@ -245,28 +245,28 @@ declare class CrudifyInitializer {
|
|
|
245
245
|
static resetInstance(): void;
|
|
246
246
|
private constructor();
|
|
247
247
|
/**
|
|
248
|
-
*
|
|
249
|
-
*
|
|
248
|
+
* Inicializar crudify con la configuración dada
|
|
249
|
+
* Este método es idempotente y thread-safe
|
|
250
250
|
*/
|
|
251
251
|
initialize(config: CrudifyConfig): Promise<void>;
|
|
252
252
|
/**
|
|
253
|
-
*
|
|
253
|
+
* Realizar el proceso de inicialización actual
|
|
254
254
|
*/
|
|
255
255
|
private performInitialization;
|
|
256
256
|
/**
|
|
257
|
-
*
|
|
257
|
+
* Verificar que crudify esté correctamente inicializado revisando métodos principales
|
|
258
258
|
*/
|
|
259
259
|
private verifyInitialization;
|
|
260
260
|
/**
|
|
261
|
-
*
|
|
261
|
+
* Verificar si la configuración dada es la misma que la actual
|
|
262
262
|
*/
|
|
263
263
|
private isConfigurationSame;
|
|
264
264
|
/**
|
|
265
|
-
*
|
|
265
|
+
* Resetear el estado de inicialización (útil para testing o cambios de configuración)
|
|
266
266
|
*/
|
|
267
267
|
reset(): void;
|
|
268
268
|
/**
|
|
269
|
-
*
|
|
269
|
+
* Obtener el estado actual de inicialización
|
|
270
270
|
*/
|
|
271
271
|
getStatus(): {
|
|
272
272
|
isInitialized: boolean;
|
|
@@ -275,28 +275,28 @@ declare class CrudifyInitializer {
|
|
|
275
275
|
config: CrudifyConfig | null;
|
|
276
276
|
};
|
|
277
277
|
/**
|
|
278
|
-
*
|
|
278
|
+
* Verificar si crudify está listo para usar
|
|
279
279
|
*/
|
|
280
280
|
isReady(): boolean;
|
|
281
281
|
/**
|
|
282
|
-
*
|
|
282
|
+
* Obtener el error de inicialización actual, si existe
|
|
283
283
|
*/
|
|
284
284
|
getError(): string | null;
|
|
285
285
|
/**
|
|
286
|
-
*
|
|
286
|
+
* Forzar re-inicialización (útil cuando la configuración cambia)
|
|
287
287
|
*/
|
|
288
288
|
reinitialize(config: CrudifyConfig): Promise<void>;
|
|
289
289
|
/**
|
|
290
|
-
*
|
|
290
|
+
* Verificar si la inicialización está actualmente en progreso
|
|
291
291
|
*/
|
|
292
292
|
isInitializing(): boolean;
|
|
293
293
|
/**
|
|
294
|
-
*
|
|
294
|
+
* Esperar a que cualquier inicialización en curso se complete
|
|
295
295
|
*/
|
|
296
296
|
waitForInitialization(): Promise<void>;
|
|
297
297
|
}
|
|
298
298
|
/**
|
|
299
|
-
*
|
|
299
|
+
* Instancia singleton para fácil acceso
|
|
300
300
|
*/
|
|
301
301
|
declare const crudifyInitializer: CrudifyInitializer;
|
|
302
302
|
|
|
@@ -482,7 +482,7 @@ interface CrudifyDataProviderProps {
|
|
|
482
482
|
*/
|
|
483
483
|
declare const CrudifyDataProvider: React.FC<CrudifyDataProviderProps>;
|
|
484
484
|
/**
|
|
485
|
-
* Hook
|
|
485
|
+
* Hook para usar el contexto de CrudifyDataProvider
|
|
486
486
|
*/
|
|
487
487
|
declare const useCrudifyDataContext: () => CrudifyDataContextState;
|
|
488
488
|
|
package/dist/index.d.ts
CHANGED
|
@@ -191,11 +191,11 @@ declare class ConfigurationManager {
|
|
|
191
191
|
*/
|
|
192
192
|
private resolveValue;
|
|
193
193
|
/**
|
|
194
|
-
*
|
|
194
|
+
* Obtener configuración de variables de entorno
|
|
195
195
|
*/
|
|
196
196
|
private getEnvConfig;
|
|
197
197
|
/**
|
|
198
|
-
*
|
|
198
|
+
* Obtener configuración de cookies (soporte multi-tenant)
|
|
199
199
|
*/
|
|
200
200
|
private getCookieConfig;
|
|
201
201
|
/**
|
|
@@ -245,28 +245,28 @@ declare class CrudifyInitializer {
|
|
|
245
245
|
static resetInstance(): void;
|
|
246
246
|
private constructor();
|
|
247
247
|
/**
|
|
248
|
-
*
|
|
249
|
-
*
|
|
248
|
+
* Inicializar crudify con la configuración dada
|
|
249
|
+
* Este método es idempotente y thread-safe
|
|
250
250
|
*/
|
|
251
251
|
initialize(config: CrudifyConfig): Promise<void>;
|
|
252
252
|
/**
|
|
253
|
-
*
|
|
253
|
+
* Realizar el proceso de inicialización actual
|
|
254
254
|
*/
|
|
255
255
|
private performInitialization;
|
|
256
256
|
/**
|
|
257
|
-
*
|
|
257
|
+
* Verificar que crudify esté correctamente inicializado revisando métodos principales
|
|
258
258
|
*/
|
|
259
259
|
private verifyInitialization;
|
|
260
260
|
/**
|
|
261
|
-
*
|
|
261
|
+
* Verificar si la configuración dada es la misma que la actual
|
|
262
262
|
*/
|
|
263
263
|
private isConfigurationSame;
|
|
264
264
|
/**
|
|
265
|
-
*
|
|
265
|
+
* Resetear el estado de inicialización (útil para testing o cambios de configuración)
|
|
266
266
|
*/
|
|
267
267
|
reset(): void;
|
|
268
268
|
/**
|
|
269
|
-
*
|
|
269
|
+
* Obtener el estado actual de inicialización
|
|
270
270
|
*/
|
|
271
271
|
getStatus(): {
|
|
272
272
|
isInitialized: boolean;
|
|
@@ -275,28 +275,28 @@ declare class CrudifyInitializer {
|
|
|
275
275
|
config: CrudifyConfig | null;
|
|
276
276
|
};
|
|
277
277
|
/**
|
|
278
|
-
*
|
|
278
|
+
* Verificar si crudify está listo para usar
|
|
279
279
|
*/
|
|
280
280
|
isReady(): boolean;
|
|
281
281
|
/**
|
|
282
|
-
*
|
|
282
|
+
* Obtener el error de inicialización actual, si existe
|
|
283
283
|
*/
|
|
284
284
|
getError(): string | null;
|
|
285
285
|
/**
|
|
286
|
-
*
|
|
286
|
+
* Forzar re-inicialización (útil cuando la configuración cambia)
|
|
287
287
|
*/
|
|
288
288
|
reinitialize(config: CrudifyConfig): Promise<void>;
|
|
289
289
|
/**
|
|
290
|
-
*
|
|
290
|
+
* Verificar si la inicialización está actualmente en progreso
|
|
291
291
|
*/
|
|
292
292
|
isInitializing(): boolean;
|
|
293
293
|
/**
|
|
294
|
-
*
|
|
294
|
+
* Esperar a que cualquier inicialización en curso se complete
|
|
295
295
|
*/
|
|
296
296
|
waitForInitialization(): Promise<void>;
|
|
297
297
|
}
|
|
298
298
|
/**
|
|
299
|
-
*
|
|
299
|
+
* Instancia singleton para fácil acceso
|
|
300
300
|
*/
|
|
301
301
|
declare const crudifyInitializer: CrudifyInitializer;
|
|
302
302
|
|
|
@@ -482,7 +482,7 @@ interface CrudifyDataProviderProps {
|
|
|
482
482
|
*/
|
|
483
483
|
declare const CrudifyDataProvider: React.FC<CrudifyDataProviderProps>;
|
|
484
484
|
/**
|
|
485
|
-
* Hook
|
|
485
|
+
* Hook para usar el contexto de CrudifyDataProvider
|
|
486
486
|
*/
|
|
487
487
|
declare const useCrudifyDataContext: () => CrudifyDataContextState;
|
|
488
488
|
|
package/dist/index.js
CHANGED
|
@@ -196,11 +196,6 @@ var init_ConfigurationManager = __esm({
|
|
|
196
196
|
this.configError = null;
|
|
197
197
|
const envConfig = this.getEnvConfig();
|
|
198
198
|
const cookieConfig = this.getCookieConfig();
|
|
199
|
-
console.log("\u{1F527} ConfigurationManager - Configuration sources:", {
|
|
200
|
-
props: propsConfig,
|
|
201
|
-
env: envConfig,
|
|
202
|
-
cookies: cookieConfig
|
|
203
|
-
});
|
|
204
199
|
const configSource = {
|
|
205
200
|
env: "default",
|
|
206
201
|
publicApiKey: "default",
|
|
@@ -217,7 +212,7 @@ var init_ConfigurationManager = __esm({
|
|
|
217
212
|
const colors = this.resolveValue("colors", propsConfig.colors, envConfig.colors, cookieConfig.colors, {}, configSource);
|
|
218
213
|
if (!publicApiKey) {
|
|
219
214
|
throw new Error(
|
|
220
|
-
"publicApiKey
|
|
215
|
+
"publicApiKey es requerido. Proporci\xF3nalo v\xEDa:\n1. Props: <CrudifyDataProvider publicApiKey={...} />\n2. Variable de entorno: VITE_TEST_PUBLIC_API_KEY\n3. Cookie: publicApiKey"
|
|
221
216
|
);
|
|
222
217
|
}
|
|
223
218
|
this.resolvedConfig = {
|
|
@@ -234,19 +229,10 @@ var init_ConfigurationManager = __esm({
|
|
|
234
229
|
cookies: cookieConfig
|
|
235
230
|
}
|
|
236
231
|
};
|
|
237
|
-
console.log("\u{1F527} ConfigurationManager - Configuration resolved:", {
|
|
238
|
-
config: {
|
|
239
|
-
env: this.resolvedConfig.env,
|
|
240
|
-
publicApiKey: `${this.resolvedConfig.publicApiKey.substring(0, 8)}...`,
|
|
241
|
-
appName: this.resolvedConfig.appName,
|
|
242
|
-
loginActionsCount: this.resolvedConfig.loginActions.length
|
|
243
|
-
},
|
|
244
|
-
sources: this.resolvedConfig.configSource
|
|
245
|
-
});
|
|
246
232
|
return this.resolvedConfig;
|
|
247
233
|
} catch (error) {
|
|
248
|
-
this.configError = error instanceof Error ? error.message : "
|
|
249
|
-
console.error("
|
|
234
|
+
this.configError = error instanceof Error ? error.message : "Error de configuraci\xF3n desconocido";
|
|
235
|
+
console.error("ConfigurationManager - Error de configuraci\xF3n:", this.configError);
|
|
250
236
|
this.resolvedConfig = {
|
|
251
237
|
env: "prod",
|
|
252
238
|
publicApiKey: "",
|
|
@@ -300,15 +286,13 @@ var init_ConfigurationManager = __esm({
|
|
|
300
286
|
return defaultValue;
|
|
301
287
|
}
|
|
302
288
|
/**
|
|
303
|
-
*
|
|
289
|
+
* Obtener configuración de variables de entorno
|
|
304
290
|
*/
|
|
305
291
|
getEnvConfig() {
|
|
306
292
|
const config = {};
|
|
307
293
|
try {
|
|
308
|
-
console.log("\u{1F527} ConfigurationManager - Reading environment variables");
|
|
309
294
|
if (typeof import_meta !== "undefined" && import_meta.env) {
|
|
310
295
|
const vitEnv = import_meta.env;
|
|
311
|
-
console.log("\u{1F527} ConfigurationManager - Vite import.meta.env available:", !!vitEnv);
|
|
312
296
|
const env = vitEnv.VITE_TEST_ENV;
|
|
313
297
|
if (env && ["dev", "stg", "prod"].includes(env)) {
|
|
314
298
|
config.env = env;
|
|
@@ -334,14 +318,12 @@ var init_ConfigurationManager = __esm({
|
|
|
334
318
|
try {
|
|
335
319
|
config.colors = JSON.parse(colors);
|
|
336
320
|
} catch (error) {
|
|
337
|
-
console.warn("
|
|
321
|
+
console.warn("ConfigurationManager - Error al parsear colors desde env:", error);
|
|
338
322
|
}
|
|
339
323
|
}
|
|
340
324
|
}
|
|
341
|
-
console.log("\u{1F527} ConfigurationManager - Vite env config:", config);
|
|
342
325
|
if (typeof globalThis !== "undefined" && globalThis.process?.env) {
|
|
343
326
|
const processEnv = globalThis.process.env;
|
|
344
|
-
console.log("\u{1F527} ConfigurationManager - process.env available:", !!processEnv);
|
|
345
327
|
const env = processEnv.VITE_TEST_ENV;
|
|
346
328
|
if (env && ["dev", "stg", "prod"].includes(env) && !config.env) {
|
|
347
329
|
config.env = env;
|
|
@@ -367,62 +349,53 @@ var init_ConfigurationManager = __esm({
|
|
|
367
349
|
try {
|
|
368
350
|
config.colors = JSON.parse(colors);
|
|
369
351
|
} catch (error) {
|
|
370
|
-
console.warn("
|
|
352
|
+
console.warn("ConfigurationManager - Error al parsear colors desde process.env:", error);
|
|
371
353
|
}
|
|
372
354
|
}
|
|
373
355
|
}
|
|
374
|
-
console.log("\u{1F527} ConfigurationManager - Final env config:", config);
|
|
375
356
|
} catch (error) {
|
|
376
|
-
console.warn("
|
|
357
|
+
console.warn("ConfigurationManager - Variables de entorno no disponibles:", error);
|
|
377
358
|
}
|
|
378
359
|
return config;
|
|
379
360
|
}
|
|
380
361
|
/**
|
|
381
|
-
*
|
|
362
|
+
* Obtener configuración de cookies (soporte multi-tenant)
|
|
382
363
|
*/
|
|
383
364
|
getCookieConfig() {
|
|
384
365
|
const config = {};
|
|
385
366
|
try {
|
|
386
|
-
console.log("\u{1F527} ConfigurationManager - Reading cookies from document.cookie:", document.cookie);
|
|
387
367
|
const env = getCookie("environment");
|
|
388
|
-
console.log("\u{1F527} ConfigurationManager - Cookie environment:", env);
|
|
389
368
|
if (env && ["dev", "stg", "prod"].includes(env)) {
|
|
390
369
|
config.env = env;
|
|
391
370
|
}
|
|
392
371
|
const publicApiKey = getCookie("publicApiKey");
|
|
393
|
-
console.log("\u{1F527} ConfigurationManager - Cookie publicApiKey:", publicApiKey ? `${publicApiKey.substring(0, 8)}...` : null);
|
|
394
372
|
if (publicApiKey) {
|
|
395
373
|
config.publicApiKey = publicApiKey;
|
|
396
374
|
}
|
|
397
375
|
const appName = getCookie("appName");
|
|
398
|
-
console.log("\u{1F527} ConfigurationManager - Cookie appName:", appName);
|
|
399
376
|
if (appName) {
|
|
400
377
|
config.appName = decodeURIComponent(appName);
|
|
401
378
|
}
|
|
402
379
|
const loginActions = getCookie("loginActions");
|
|
403
|
-
console.log("\u{1F527} ConfigurationManager - Cookie loginActions:", loginActions);
|
|
404
380
|
if (loginActions) {
|
|
405
381
|
const decodedActions = decodeURIComponent(loginActions);
|
|
406
382
|
config.loginActions = decodedActions.split(",").map((action) => action.trim()).filter(Boolean);
|
|
407
383
|
}
|
|
408
384
|
const logo = getCookie("logo");
|
|
409
|
-
console.log("\u{1F527} ConfigurationManager - Cookie logo:", logo);
|
|
410
385
|
if (logo) {
|
|
411
386
|
config.logo = decodeURIComponent(logo);
|
|
412
387
|
}
|
|
413
388
|
const colors = getCookie("colors");
|
|
414
|
-
console.log("\u{1F527} ConfigurationManager - Cookie colors:", colors);
|
|
415
389
|
if (colors) {
|
|
416
390
|
try {
|
|
417
391
|
const decodedColors = decodeURIComponent(colors);
|
|
418
392
|
config.colors = JSON.parse(decodedColors);
|
|
419
393
|
} catch (error) {
|
|
420
|
-
console.warn("
|
|
394
|
+
console.warn("ConfigurationManager - Error al parsear colors desde cookie:", error);
|
|
421
395
|
}
|
|
422
396
|
}
|
|
423
|
-
console.log("\u{1F527} ConfigurationManager - Final cookie config:", config);
|
|
424
397
|
} catch (error) {
|
|
425
|
-
console.warn("
|
|
398
|
+
console.warn("ConfigurationManager - Error leyendo cookies:", error);
|
|
426
399
|
}
|
|
427
400
|
return config;
|
|
428
401
|
}
|
|
@@ -473,7 +446,6 @@ var init_CrudifyInitializer = __esm({
|
|
|
473
446
|
config: null,
|
|
474
447
|
initializationPromise: null
|
|
475
448
|
};
|
|
476
|
-
console.log("\u{1F680} CrudifyInitializer - Instance created");
|
|
477
449
|
}
|
|
478
450
|
/**
|
|
479
451
|
* Singleton pattern to ensure global initialization coordination
|
|
@@ -491,27 +463,18 @@ var init_CrudifyInitializer = __esm({
|
|
|
491
463
|
_CrudifyInitializer.instance = null;
|
|
492
464
|
}
|
|
493
465
|
/**
|
|
494
|
-
*
|
|
495
|
-
*
|
|
466
|
+
* Inicializar crudify con la configuración dada
|
|
467
|
+
* Este método es idempotente y thread-safe
|
|
496
468
|
*/
|
|
497
469
|
async initialize(config) {
|
|
498
|
-
console.log("\u{1F680} CrudifyInitializer - ENTRY_POINT - Received config:", {
|
|
499
|
-
env: config.env,
|
|
500
|
-
publicApiKey: config.publicApiKey ? `${config.publicApiKey.substring(0, 8)}...` : null,
|
|
501
|
-
appName: config.appName,
|
|
502
|
-
loginActionsCount: config.loginActions?.length || 0
|
|
503
|
-
});
|
|
504
470
|
if (this.state.isInitialized && this.isConfigurationSame(config)) {
|
|
505
|
-
console.log("\u{1F680} CrudifyInitializer - Already initialized with same config");
|
|
506
471
|
return;
|
|
507
472
|
}
|
|
508
473
|
if (this.state.isInitializing && this.state.initializationPromise) {
|
|
509
|
-
console.log("\u{1F680} CrudifyInitializer - Waiting for ongoing initialization");
|
|
510
474
|
await this.state.initializationPromise;
|
|
511
475
|
return;
|
|
512
476
|
}
|
|
513
477
|
if (this.state.isInitialized && !this.isConfigurationSame(config)) {
|
|
514
|
-
console.log("\u{1F680} CrudifyInitializer - Configuration changed, re-initializing");
|
|
515
478
|
this.reset();
|
|
516
479
|
}
|
|
517
480
|
this.state.isInitializing = true;
|
|
@@ -521,10 +484,9 @@ var init_CrudifyInitializer = __esm({
|
|
|
521
484
|
await this.state.initializationPromise;
|
|
522
485
|
this.state.isInitialized = true;
|
|
523
486
|
this.state.config = { ...config };
|
|
524
|
-
console.log("\u{1F680} CrudifyInitializer - Initialization completed successfully");
|
|
525
487
|
} catch (error) {
|
|
526
|
-
this.state.initializationError = error instanceof Error ? error.message : "
|
|
527
|
-
console.error("
|
|
488
|
+
this.state.initializationError = error instanceof Error ? error.message : "Error de inicializaci\xF3n desconocido";
|
|
489
|
+
console.error("CrudifyInitializer - Inicializaci\xF3n fall\xF3:", this.state.initializationError);
|
|
528
490
|
throw error;
|
|
529
491
|
} finally {
|
|
530
492
|
this.state.isInitializing = false;
|
|
@@ -532,35 +494,25 @@ var init_CrudifyInitializer = __esm({
|
|
|
532
494
|
}
|
|
533
495
|
}
|
|
534
496
|
/**
|
|
535
|
-
*
|
|
497
|
+
* Realizar el proceso de inicialización actual
|
|
536
498
|
*/
|
|
537
499
|
async performInitialization(config) {
|
|
538
500
|
if (!config.publicApiKey) {
|
|
539
|
-
throw new Error("publicApiKey
|
|
501
|
+
throw new Error("publicApiKey es requerido para la inicializaci\xF3n de crudify");
|
|
540
502
|
}
|
|
541
|
-
console.log("\u{1F680} CrudifyInitializer - Starting initialization with config:", {
|
|
542
|
-
env: config.env,
|
|
543
|
-
publicApiKey: `${config.publicApiKey.substring(0, 8)}...`,
|
|
544
|
-
appName: config.appName
|
|
545
|
-
});
|
|
546
503
|
try {
|
|
547
504
|
const environment = config.env || "prod";
|
|
548
|
-
console.log("\u{1F680} CrudifyInitializer - Step 1: Configuring environment:", environment);
|
|
549
505
|
await import_crudify_browser2.default.config(environment);
|
|
550
|
-
console.log("\u{1F680} CrudifyInitializer - Step 2: Initializing with API key");
|
|
551
506
|
await import_crudify_browser2.default.init(config.publicApiKey, "none");
|
|
552
|
-
console.log("\u{1F680} CrudifyInitializer - Step 3: Verifying initialization");
|
|
553
507
|
await this.verifyInitialization();
|
|
554
|
-
console.log("\u{1F680} CrudifyInitializer - All initialization steps completed");
|
|
555
508
|
} catch (error) {
|
|
556
|
-
console.error("\u{1F680} CrudifyInitializer - Initialization failed at step:", error);
|
|
557
509
|
throw new Error(
|
|
558
|
-
`Crudify
|
|
510
|
+
`Inicializaci\xF3n de Crudify fall\xF3: ${error instanceof Error ? error.message : "Error desconocido"}. Por favor revisa tu configuraci\xF3n (env: ${config.env || "prod"}, publicApiKey: ${config.publicApiKey ? "proporcionado" : "faltante"})`
|
|
559
511
|
);
|
|
560
512
|
}
|
|
561
513
|
}
|
|
562
514
|
/**
|
|
563
|
-
*
|
|
515
|
+
* Verificar que crudify esté correctamente inicializado revisando métodos principales
|
|
564
516
|
*/
|
|
565
517
|
async verifyInitialization() {
|
|
566
518
|
const requiredMethods = ["readItems", "readItem", "createItem", "updateItem", "deleteItem", "login", "transaction"];
|
|
@@ -572,23 +524,21 @@ var init_CrudifyInitializer = __esm({
|
|
|
572
524
|
}
|
|
573
525
|
if (missingMethods.length > 0) {
|
|
574
526
|
throw new Error(
|
|
575
|
-
`Crudify
|
|
527
|
+
`Inicializaci\xF3n de Crudify incompleta. M\xE9todos faltantes: ${missingMethods.join(", ")}. Esto usualmente indica un problema de configuraci\xF3n o red.`
|
|
576
528
|
);
|
|
577
529
|
}
|
|
578
|
-
console.log("\u{1F680} CrudifyInitializer - Verification successful (test call skipped for performance)");
|
|
579
530
|
}
|
|
580
531
|
/**
|
|
581
|
-
*
|
|
532
|
+
* Verificar si la configuración dada es la misma que la actual
|
|
582
533
|
*/
|
|
583
534
|
isConfigurationSame(config) {
|
|
584
535
|
if (!this.state.config) return false;
|
|
585
536
|
return this.state.config.env === config.env && this.state.config.publicApiKey === config.publicApiKey;
|
|
586
537
|
}
|
|
587
538
|
/**
|
|
588
|
-
*
|
|
539
|
+
* Resetear el estado de inicialización (útil para testing o cambios de configuración)
|
|
589
540
|
*/
|
|
590
541
|
reset() {
|
|
591
|
-
console.log("\u{1F680} CrudifyInitializer - Resetting initialization state");
|
|
592
542
|
this.state = {
|
|
593
543
|
isInitialized: false,
|
|
594
544
|
isInitializing: false,
|
|
@@ -598,7 +548,7 @@ var init_CrudifyInitializer = __esm({
|
|
|
598
548
|
};
|
|
599
549
|
}
|
|
600
550
|
/**
|
|
601
|
-
*
|
|
551
|
+
* Obtener el estado actual de inicialización
|
|
602
552
|
*/
|
|
603
553
|
getStatus() {
|
|
604
554
|
return {
|
|
@@ -609,33 +559,32 @@ var init_CrudifyInitializer = __esm({
|
|
|
609
559
|
};
|
|
610
560
|
}
|
|
611
561
|
/**
|
|
612
|
-
*
|
|
562
|
+
* Verificar si crudify está listo para usar
|
|
613
563
|
*/
|
|
614
564
|
isReady() {
|
|
615
565
|
return this.state.isInitialized && !this.state.initializationError;
|
|
616
566
|
}
|
|
617
567
|
/**
|
|
618
|
-
*
|
|
568
|
+
* Obtener el error de inicialización actual, si existe
|
|
619
569
|
*/
|
|
620
570
|
getError() {
|
|
621
571
|
return this.state.initializationError;
|
|
622
572
|
}
|
|
623
573
|
/**
|
|
624
|
-
*
|
|
574
|
+
* Forzar re-inicialización (útil cuando la configuración cambia)
|
|
625
575
|
*/
|
|
626
576
|
async reinitialize(config) {
|
|
627
|
-
console.log("\u{1F680} CrudifyInitializer - Forcing re-initialization");
|
|
628
577
|
this.reset();
|
|
629
578
|
await this.initialize(config);
|
|
630
579
|
}
|
|
631
580
|
/**
|
|
632
|
-
*
|
|
581
|
+
* Verificar si la inicialización está actualmente en progreso
|
|
633
582
|
*/
|
|
634
583
|
isInitializing() {
|
|
635
584
|
return this.state.isInitializing;
|
|
636
585
|
}
|
|
637
586
|
/**
|
|
638
|
-
*
|
|
587
|
+
* Esperar a que cualquier inicialización en curso se complete
|
|
639
588
|
*/
|
|
640
589
|
async waitForInitialization() {
|
|
641
590
|
if (this.state.initializationPromise) {
|
|
@@ -1092,7 +1041,6 @@ var init_CrudifyDataProvider = __esm({
|
|
|
1092
1041
|
const [tokenExpiration, setTokenExpiration] = (0, import_react5.useState)(null);
|
|
1093
1042
|
const initializeConfiguration = (0, import_react5.useCallback)(() => {
|
|
1094
1043
|
try {
|
|
1095
|
-
console.log("\u{1F30D} CrudifyDataProvider - VERSION 1.2.4+ - Initializing configuration");
|
|
1096
1044
|
const propsConfig = {
|
|
1097
1045
|
env,
|
|
1098
1046
|
publicApiKey,
|
|
@@ -1106,15 +1054,10 @@ var init_CrudifyDataProvider = __esm({
|
|
|
1106
1054
|
setConfig(resolvedConfig);
|
|
1107
1055
|
setConfigError(error);
|
|
1108
1056
|
setIsConfigured(configurationManager.isConfigured());
|
|
1109
|
-
console.log("\u{1F30D} CrudifyDataProvider - Configuration initialized:", {
|
|
1110
|
-
isConfigured: configurationManager.isConfigured(),
|
|
1111
|
-
error,
|
|
1112
|
-
sources: resolvedConfig.configSource
|
|
1113
|
-
});
|
|
1114
1057
|
return resolvedConfig;
|
|
1115
1058
|
} catch (error) {
|
|
1116
|
-
const errorMessage = error instanceof Error ? error.message : "
|
|
1117
|
-
console.error("
|
|
1059
|
+
const errorMessage = error instanceof Error ? error.message : "Error en inicializaci\xF3n de configuraci\xF3n";
|
|
1060
|
+
console.error("CrudifyDataProvider - Error de configuraci\xF3n:", errorMessage);
|
|
1118
1061
|
setConfigError(errorMessage);
|
|
1119
1062
|
setIsConfigured(false);
|
|
1120
1063
|
return null;
|
|
@@ -1122,19 +1065,12 @@ var init_CrudifyDataProvider = __esm({
|
|
|
1122
1065
|
}, [env, publicApiKey, loginActions, appName, logo, colors]);
|
|
1123
1066
|
const initializeCrudify = (0, import_react5.useCallback)(async (resolvedConfig) => {
|
|
1124
1067
|
if (!resolvedConfig || !resolvedConfig.publicApiKey) {
|
|
1125
|
-
setInitializationError("
|
|
1068
|
+
setInitializationError("No se puede inicializar crudify sin configuraci\xF3n v\xE1lida");
|
|
1126
1069
|
return;
|
|
1127
1070
|
}
|
|
1128
1071
|
try {
|
|
1129
1072
|
setIsInitializing(true);
|
|
1130
1073
|
setInitializationError(null);
|
|
1131
|
-
console.log("\u{1F680} CrudifyDataProvider - Starting crudify initialization");
|
|
1132
|
-
console.log("\u{1F680} CrudifyDataProvider - Resolved config being passed:", {
|
|
1133
|
-
env: resolvedConfig.env,
|
|
1134
|
-
publicApiKey: resolvedConfig.publicApiKey ? `${resolvedConfig.publicApiKey.substring(0, 8)}...` : null,
|
|
1135
|
-
appName: resolvedConfig.appName,
|
|
1136
|
-
loginActionsCount: resolvedConfig.loginActions.length
|
|
1137
|
-
});
|
|
1138
1074
|
await crudifyInitializer.initialize({
|
|
1139
1075
|
env: resolvedConfig.env,
|
|
1140
1076
|
publicApiKey: resolvedConfig.publicApiKey,
|
|
@@ -1144,10 +1080,9 @@ var init_CrudifyDataProvider = __esm({
|
|
|
1144
1080
|
colors: resolvedConfig.colors
|
|
1145
1081
|
});
|
|
1146
1082
|
setIsInitialized(true);
|
|
1147
|
-
console.log("\u{1F680} CrudifyDataProvider - Crudify initialization completed");
|
|
1148
1083
|
} catch (error) {
|
|
1149
|
-
const errorMessage = error instanceof Error ? error.message : "
|
|
1150
|
-
console.error("
|
|
1084
|
+
const errorMessage = error instanceof Error ? error.message : "Error en inicializaci\xF3n de Crudify";
|
|
1085
|
+
console.error("CrudifyDataProvider - Error de inicializaci\xF3n:", errorMessage);
|
|
1151
1086
|
setInitializationError(errorMessage);
|
|
1152
1087
|
setIsInitialized(false);
|
|
1153
1088
|
} finally {
|
|
@@ -1155,80 +1090,44 @@ var init_CrudifyDataProvider = __esm({
|
|
|
1155
1090
|
}
|
|
1156
1091
|
}, []);
|
|
1157
1092
|
const updateAuthenticationState = (0, import_react5.useCallback)(() => {
|
|
1158
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Starting authentication state update");
|
|
1159
1093
|
try {
|
|
1160
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Getting token from TokenManager");
|
|
1161
1094
|
const currentToken = tokenManager.getToken();
|
|
1162
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Token retrieved:", !!currentToken);
|
|
1163
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Parsing token");
|
|
1164
1095
|
const parsedUser = tokenManager.parseToken();
|
|
1165
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Token parsed:", !!parsedUser);
|
|
1166
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Getting expiration");
|
|
1167
1096
|
const expiration = tokenManager.getTokenExpiration();
|
|
1168
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Expiration retrieved:", !!expiration);
|
|
1169
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Checking authentication");
|
|
1170
1097
|
const authenticated = tokenManager.isAuthenticated();
|
|
1171
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Authentication checked:", authenticated);
|
|
1172
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Updating state variables");
|
|
1173
1098
|
setTokenState(currentToken);
|
|
1174
1099
|
setUser(parsedUser);
|
|
1175
1100
|
setTokenExpiration(expiration);
|
|
1176
1101
|
setIsAuthenticated(authenticated);
|
|
1177
|
-
console.log("\u{1F510} CrudifyDataProvider - UPDATE_AUTH_STATE: Authentication state updated successfully:", {
|
|
1178
|
-
hasToken: !!currentToken,
|
|
1179
|
-
isAuthenticated: authenticated,
|
|
1180
|
-
userEmail: parsedUser?.email || null,
|
|
1181
|
-
expiration: expiration?.toISOString() || null
|
|
1182
|
-
});
|
|
1183
1102
|
} catch (error) {
|
|
1184
|
-
console.error("
|
|
1103
|
+
console.error("CrudifyDataProvider - Error actualizando estado de autenticaci\xF3n:", error);
|
|
1185
1104
|
}
|
|
1186
1105
|
}, []);
|
|
1187
1106
|
const setToken = (0, import_react5.useCallback)((newToken) => {
|
|
1188
|
-
console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: ===== STARTING TOKEN SET =====");
|
|
1189
|
-
console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: New token:", newToken ? `${newToken.substring(0, 20)}...` : "null");
|
|
1190
|
-
console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: Setting token in TokenManager...");
|
|
1191
1107
|
tokenManager.setToken(newToken);
|
|
1192
|
-
console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: Updating state using newToken directly");
|
|
1193
1108
|
if (newToken) {
|
|
1194
1109
|
const parsedUser = tokenManager.parseToken(newToken);
|
|
1195
1110
|
const expiration = tokenManager.getTokenExpiration();
|
|
1196
1111
|
const authenticated = tokenManager.isTokenValid(newToken);
|
|
1197
|
-
console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: Setting state values:");
|
|
1198
|
-
console.log(" - setTokenState:", newToken ? `${newToken.substring(0, 20)}...` : "null");
|
|
1199
|
-
console.log(" - setUser:", parsedUser?.email || "null");
|
|
1200
|
-
console.log(" - setIsAuthenticated:", authenticated);
|
|
1201
1112
|
setTokenState(newToken);
|
|
1202
1113
|
setUser(parsedUser);
|
|
1203
1114
|
setTokenExpiration(expiration);
|
|
1204
1115
|
setIsAuthenticated(authenticated);
|
|
1205
|
-
console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: \u2705 Token set, state updated", {
|
|
1206
|
-
hasToken: true,
|
|
1207
|
-
isAuthenticated: authenticated,
|
|
1208
|
-
userEmail: parsedUser?.email || null
|
|
1209
|
-
});
|
|
1210
1116
|
} else {
|
|
1211
|
-
console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: Clearing all states");
|
|
1212
1117
|
setTokenState(null);
|
|
1213
1118
|
setUser(null);
|
|
1214
1119
|
setTokenExpiration(null);
|
|
1215
1120
|
setIsAuthenticated(false);
|
|
1216
|
-
console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: \u2705 Token cleared, state reset");
|
|
1217
1121
|
}
|
|
1218
|
-
console.log("\u{1F510} CrudifyDataProvider - SET_TOKEN_CALLBACK: ===== TOKEN SET COMPLETE =====");
|
|
1219
1122
|
}, []);
|
|
1220
1123
|
const logout = (0, import_react5.useCallback)(() => {
|
|
1221
|
-
console.log("\u{1F510} CrudifyDataProvider - LOGOUT_CALLBACK: Logging out user");
|
|
1222
1124
|
tokenManager.clearToken();
|
|
1223
|
-
console.log("\u{1F510} CrudifyDataProvider - LOGOUT_CALLBACK: Updating state directly");
|
|
1224
1125
|
setTokenState(null);
|
|
1225
1126
|
setUser(null);
|
|
1226
1127
|
setTokenExpiration(null);
|
|
1227
1128
|
setIsAuthenticated(false);
|
|
1228
|
-
console.log("\u{1F510} CrudifyDataProvider - LOGOUT_CALLBACK: User logged out, state cleared");
|
|
1229
1129
|
}, []);
|
|
1230
1130
|
const refreshConfig = (0, import_react5.useCallback)(() => {
|
|
1231
|
-
console.log("\u{1F30D} CrudifyDataProvider - Refreshing configuration");
|
|
1232
1131
|
configurationManager.clearConfig();
|
|
1233
1132
|
const newConfig = initializeConfiguration();
|
|
1234
1133
|
if (newConfig && newConfig.publicApiKey) {
|
|
@@ -1237,10 +1136,9 @@ var init_CrudifyDataProvider = __esm({
|
|
|
1237
1136
|
}, [initializeConfiguration, initializeCrudify]);
|
|
1238
1137
|
const reinitialize = (0, import_react5.useCallback)(async () => {
|
|
1239
1138
|
if (!config || !config.publicApiKey) {
|
|
1240
|
-
console.warn("
|
|
1139
|
+
console.warn("CrudifyDataProvider - No se puede reinicializar sin configuraci\xF3n v\xE1lida");
|
|
1241
1140
|
return;
|
|
1242
1141
|
}
|
|
1243
|
-
console.log("\u{1F680} CrudifyDataProvider - Force reinitializing crudify");
|
|
1244
1142
|
crudifyInitializer.reset();
|
|
1245
1143
|
await initializeCrudify(config);
|
|
1246
1144
|
}, [config, initializeCrudify]);
|
|
@@ -1279,43 +1177,34 @@ var init_CrudifyDataProvider = __esm({
|
|
|
1279
1177
|
};
|
|
1280
1178
|
}, [isConfigured, configError, isInitialized, isInitializing, initializationError, isAuthenticated, config, token, user, tokenExpiration]);
|
|
1281
1179
|
(0, import_react5.useEffect)(() => {
|
|
1282
|
-
console.log("\u{1F30D} CrudifyDataProvider - Provider mounting, starting initialization");
|
|
1283
1180
|
const resolvedConfig = initializeConfiguration();
|
|
1284
|
-
console.log("\u{1F30D} CrudifyDataProvider - Resolved config from initializeConfiguration:", {
|
|
1285
|
-
env: resolvedConfig?.env,
|
|
1286
|
-
publicApiKey: resolvedConfig?.publicApiKey ? `${resolvedConfig.publicApiKey.substring(0, 8)}...` : null,
|
|
1287
|
-
appName: resolvedConfig?.appName,
|
|
1288
|
-
loginActionsCount: resolvedConfig?.loginActions.length || 0
|
|
1289
|
-
});
|
|
1290
1181
|
updateAuthenticationState();
|
|
1291
1182
|
if (resolvedConfig && resolvedConfig.publicApiKey) {
|
|
1292
1183
|
initializeCrudify(resolvedConfig);
|
|
1293
1184
|
}
|
|
1294
1185
|
return () => {
|
|
1295
|
-
console.log("\u{1F30D} CrudifyDataProvider - Provider unmounting, cleaning up");
|
|
1296
1186
|
tokenManager.cleanup();
|
|
1297
1187
|
};
|
|
1298
1188
|
}, []);
|
|
1299
1189
|
(0, import_react5.useEffect)(() => {
|
|
1300
|
-
console.log("\u{1F510} CrudifyDataProvider - INITIAL_AUTH_EFFECT: Loading initial authentication state");
|
|
1301
1190
|
updateAuthenticationState();
|
|
1302
1191
|
}, []);
|
|
1303
1192
|
const contextValue = {
|
|
1304
|
-
//
|
|
1193
|
+
// Configuración
|
|
1305
1194
|
config,
|
|
1306
1195
|
isConfigured,
|
|
1307
1196
|
configError,
|
|
1308
1197
|
configSource: config ? JSON.stringify(config.configSource) : "none",
|
|
1309
|
-
//
|
|
1198
|
+
// Inicialización
|
|
1310
1199
|
isInitialized,
|
|
1311
1200
|
isInitializing,
|
|
1312
1201
|
initializationError,
|
|
1313
|
-
//
|
|
1202
|
+
// Autenticación
|
|
1314
1203
|
isAuthenticated,
|
|
1315
1204
|
token,
|
|
1316
1205
|
user,
|
|
1317
1206
|
tokenExpiration,
|
|
1318
|
-
//
|
|
1207
|
+
// Acciones
|
|
1319
1208
|
setToken,
|
|
1320
1209
|
logout,
|
|
1321
1210
|
refreshConfig,
|
package/dist/index.mjs
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
secureSessionStorage,
|
|
11
11
|
tokenManager,
|
|
12
12
|
useCrudifyDataContext
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-42KLTBFN.mjs";
|
|
14
14
|
|
|
15
15
|
// src/index.ts
|
|
16
16
|
import { default as default2 } from "@nocios/crudify-browser";
|
|
@@ -2370,7 +2370,7 @@ var useCrudifyInstance = () => {
|
|
|
2370
2370
|
}
|
|
2371
2371
|
try {
|
|
2372
2372
|
console.log("\u{1F504} useCrudifyInstance - waitForReady: Using CrudifyInitializer.waitForInitialization()");
|
|
2373
|
-
const { crudifyInitializer: crudifyInitializer2 } = await import("./CrudifyDataProvider-
|
|
2373
|
+
const { crudifyInitializer: crudifyInitializer2 } = await import("./CrudifyDataProvider-KKZJMQV2.mjs");
|
|
2374
2374
|
await crudifyInitializer2.waitForInitialization();
|
|
2375
2375
|
console.log("\u2705 useCrudifyInstance - waitForReady: CrudifyInitializer completed");
|
|
2376
2376
|
if (!crudifyInitializer2.isReady()) {
|
|
@@ -2512,7 +2512,7 @@ var useCrudifyInstance = () => {
|
|
|
2512
2512
|
};
|
|
2513
2513
|
var getCrudifyInstanceAsync = async () => {
|
|
2514
2514
|
console.log("\u{1F504} getCrudifyInstanceAsync - Starting");
|
|
2515
|
-
const { crudifyInitializer: crudifyInitializer2 } = await import("./CrudifyDataProvider-
|
|
2515
|
+
const { crudifyInitializer: crudifyInitializer2 } = await import("./CrudifyDataProvider-KKZJMQV2.mjs");
|
|
2516
2516
|
console.log("\u{1F504} getCrudifyInstanceAsync - Checking if ready");
|
|
2517
2517
|
console.log(" - crudifyInitializer.isReady():", crudifyInitializer2.isReady());
|
|
2518
2518
|
console.log(" - crudifyInitializer.getStatus():", crudifyInitializer2.getStatus());
|
|
@@ -2531,7 +2531,7 @@ var getCrudifyInstanceAsync = async () => {
|
|
|
2531
2531
|
return crudify5;
|
|
2532
2532
|
};
|
|
2533
2533
|
var getCrudifyInstanceSync = async () => {
|
|
2534
|
-
const { crudifyInitializer: crudifyInitializer2 } = await import("./CrudifyDataProvider-
|
|
2534
|
+
const { crudifyInitializer: crudifyInitializer2 } = await import("./CrudifyDataProvider-KKZJMQV2.mjs");
|
|
2535
2535
|
if (!crudifyInitializer2.isReady()) {
|
|
2536
2536
|
throw new Error("Crudify not ready. Use getCrudifyInstanceAsync() or call this from within a React component using useCrudifyInstance()");
|
|
2537
2537
|
}
|