@nocios/crudify-ui 1.2.20 → 1.2.23

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/index.js CHANGED
@@ -2984,8 +2984,8 @@ var useUserProfile = (options = {}) => {
2984
2984
  setError(null);
2985
2985
  }
2986
2986
  const response = await import_crudify_browser4.default.readItems("users", {
2987
- where: { email: userEmail },
2988
- limit: 1
2987
+ filter: { email: userEmail },
2988
+ pagination: { limit: 1 }
2989
2989
  });
2990
2990
  if (currentRequestId === requestIdRef.current && mountedRef.current && !abortController.signal.aborted) {
2991
2991
  if (response.success && response.data && response.data.length > 0) {
@@ -3008,7 +3008,22 @@ var useUserProfile = (options = {}) => {
3008
3008
  createdAt: userData.createdAt,
3009
3009
  updatedAt: userData.updatedAt,
3010
3010
  // Include any custom fields
3011
- ...Object.keys(userData).filter((key) => !["id", "email", "username", "firstName", "lastName", "fullName", "role", "permissions", "isActive", "lastLogin", "createdAt", "updatedAt"].includes(key)).reduce((acc, key) => ({ ...acc, [key]: userData[key] }), {})
3011
+ ...Object.keys(userData).filter(
3012
+ (key) => ![
3013
+ "id",
3014
+ "email",
3015
+ "username",
3016
+ "firstName",
3017
+ "lastName",
3018
+ "fullName",
3019
+ "role",
3020
+ "permissions",
3021
+ "isActive",
3022
+ "lastLogin",
3023
+ "createdAt",
3024
+ "updatedAt"
3025
+ ].includes(key)
3026
+ ).reduce((acc, key) => ({ ...acc, [key]: userData[key] }), {})
3012
3027
  }
3013
3028
  };
3014
3029
  setExtendedData(additionalData);
@@ -3256,12 +3271,7 @@ var import_crudify_browser5 = __toESM(require("@nocios/crudify-browser"));
3256
3271
  init_CrudifyDataProvider();
3257
3272
  var useCrudifyUser = (options = {}) => {
3258
3273
  const { autoFetch = true, retryOnError = false, maxRetries = 3 } = options;
3259
- const {
3260
- isAuthenticated,
3261
- isInitialized,
3262
- user: jwtUser,
3263
- token
3264
- } = useCrudifyDataContext();
3274
+ const { isAuthenticated, isInitialized, user: jwtUser, token } = useCrudifyDataContext();
3265
3275
  const [userProfile, setUserProfile] = (0, import_react13.useState)(null);
3266
3276
  const [profileLoading, setProfileLoading] = (0, import_react13.useState)(false);
3267
3277
  const [profileError, setProfileError] = (0, import_react13.useState)(null);
@@ -3329,24 +3339,79 @@ var useCrudifyUser = (options = {}) => {
3329
3339
  }
3330
3340
  console.log("\u{1F464} useCrudifyUser - Fetching profile data from database");
3331
3341
  const response = await import_crudify_browser5.default.readItems("users", {
3332
- where: { email: userEmail2 },
3333
- limit: 1
3342
+ filter: { email: userEmail2 },
3343
+ pagination: { limit: 1 }
3334
3344
  });
3335
3345
  console.log("\u{1F464} useCrudifyUser - Database response:", response);
3346
+ console.log("\u{1F464} useCrudifyUser - response.data:", response.data);
3347
+ console.log("\u{1F464} useCrudifyUser - response.data type:", typeof response.data);
3336
3348
  if (currentRequestId === requestIdRef.current && mountedRef.current && !abortController.signal.aborted) {
3337
- if (response.success && response.data && response.data.length > 0) {
3338
- const userData = response.data[0];
3349
+ let userData = null;
3350
+ if (response.success) {
3351
+ console.log("\u{1F464} useCrudifyUser - Processing successful response:", {
3352
+ dataType: typeof response.data,
3353
+ isArray: Array.isArray(response.data),
3354
+ hasResponse: !!response.data?.response,
3355
+ hasResponseData: !!response.data?.response?.data,
3356
+ responseDataType: typeof response.data?.response?.data
3357
+ });
3358
+ if (Array.isArray(response.data) && response.data.length > 0) {
3359
+ console.log("\u{1F464} useCrudifyUser - Found direct array format");
3360
+ userData = response.data[0];
3361
+ } else if (response.data?.response?.data) {
3362
+ console.log("\u{1F464} useCrudifyUser - Found nested response.data format");
3363
+ try {
3364
+ const rawData = response.data.response.data;
3365
+ console.log("\u{1F464} useCrudifyUser - Raw nested data:", rawData);
3366
+ console.log("\u{1F464} useCrudifyUser - Raw data type:", typeof rawData);
3367
+ const parsedData = typeof rawData === "string" ? JSON.parse(rawData) : rawData;
3368
+ console.log("\u{1F464} useCrudifyUser - Parsed nested data:", parsedData);
3369
+ if (parsedData && parsedData.items && Array.isArray(parsedData.items) && parsedData.items.length > 0) {
3370
+ userData = parsedData.items[0];
3371
+ console.log("\u{1F464} useCrudifyUser - Extracted user from nested items:", userData);
3372
+ } else {
3373
+ console.log("\u{1F464} useCrudifyUser - No items found in parsed data or items array is empty");
3374
+ }
3375
+ } catch (parseError) {
3376
+ console.error("\u{1F464} useCrudifyUser - Error parsing nested response data:", parseError);
3377
+ }
3378
+ } else if (response.data && typeof response.data === "object") {
3379
+ console.log("\u{1F464} useCrudifyUser - Found object format, checking for items");
3380
+ if (response.data.items && Array.isArray(response.data.items) && response.data.items.length > 0) {
3381
+ console.log("\u{1F464} useCrudifyUser - Found items in object format");
3382
+ userData = response.data.items[0];
3383
+ } else {
3384
+ console.log("\u{1F464} useCrudifyUser - No items found in object format");
3385
+ }
3386
+ } else if (response.data?.data?.response?.data) {
3387
+ console.log("\u{1F464} useCrudifyUser - Found double-nested data.data.response.data format");
3388
+ try {
3389
+ const rawData = response.data.data.response.data;
3390
+ console.log("\u{1F464} useCrudifyUser - Raw double-nested data:", rawData);
3391
+ const parsedData = typeof rawData === "string" ? JSON.parse(rawData) : rawData;
3392
+ console.log("\u{1F464} useCrudifyUser - Parsed double-nested data:", parsedData);
3393
+ if (parsedData && parsedData.items && Array.isArray(parsedData.items) && parsedData.items.length > 0) {
3394
+ userData = parsedData.items[0];
3395
+ console.log("\u{1F464} useCrudifyUser - Extracted user from double-nested items:", userData);
3396
+ }
3397
+ } catch (parseError) {
3398
+ console.error("\u{1F464} useCrudifyUser - Error parsing double-nested response data:", parseError);
3399
+ }
3400
+ }
3401
+ }
3402
+ if (userData) {
3403
+ console.log("\u{1F464} useCrudifyUser - User data found:", userData);
3339
3404
  setUserProfile(userData);
3340
3405
  const extended = {
3341
3406
  fullProfile: userData,
3342
3407
  totalFields: Object.keys(userData).length,
3343
3408
  displayData: {
3344
- id: userData.id,
3409
+ id: userData.id || userData._id,
3345
3410
  email: userData.email,
3346
3411
  username: userData.username,
3347
- firstName: userData.firstName,
3412
+ firstName: userData.firstName || userData.name,
3348
3413
  lastName: userData.lastName,
3349
- fullName: userData.fullName || `${userData.firstName || ""} ${userData.lastName || ""}`.trim() || null,
3414
+ fullName: userData.fullName || `${userData.firstName || userData.name || ""} ${userData.lastName || ""}`.trim() || null,
3350
3415
  role: userData.role,
3351
3416
  permissions: userData.permissions || [],
3352
3417
  isActive: userData.isActive,
@@ -3354,20 +3419,24 @@ var useCrudifyUser = (options = {}) => {
3354
3419
  createdAt: userData.createdAt,
3355
3420
  updatedAt: userData.updatedAt,
3356
3421
  // Include any custom fields
3357
- ...Object.keys(userData).filter((key) => ![
3358
- "id",
3359
- "email",
3360
- "username",
3361
- "firstName",
3362
- "lastName",
3363
- "fullName",
3364
- "role",
3365
- "permissions",
3366
- "isActive",
3367
- "lastLogin",
3368
- "createdAt",
3369
- "updatedAt"
3370
- ].includes(key)).reduce((acc, key) => ({ ...acc, [key]: userData[key] }), {})
3422
+ ...Object.keys(userData).filter(
3423
+ (key) => ![
3424
+ "id",
3425
+ "_id",
3426
+ "email",
3427
+ "username",
3428
+ "firstName",
3429
+ "name",
3430
+ "lastName",
3431
+ "fullName",
3432
+ "role",
3433
+ "permissions",
3434
+ "isActive",
3435
+ "lastLogin",
3436
+ "createdAt",
3437
+ "updatedAt"
3438
+ ].includes(key)
3439
+ ).reduce((acc, key) => ({ ...acc, [key]: userData[key] }), {})
3371
3440
  }
3372
3441
  };
3373
3442
  setExtendedData(extended);
package/dist/index.mjs CHANGED
@@ -1740,8 +1740,8 @@ var useUserProfile = (options = {}) => {
1740
1740
  setError(null);
1741
1741
  }
1742
1742
  const response = await crudify2.readItems("users", {
1743
- where: { email: userEmail },
1744
- limit: 1
1743
+ filter: { email: userEmail },
1744
+ pagination: { limit: 1 }
1745
1745
  });
1746
1746
  if (currentRequestId === requestIdRef.current && mountedRef.current && !abortController.signal.aborted) {
1747
1747
  if (response.success && response.data && response.data.length > 0) {
@@ -1764,7 +1764,22 @@ var useUserProfile = (options = {}) => {
1764
1764
  createdAt: userData.createdAt,
1765
1765
  updatedAt: userData.updatedAt,
1766
1766
  // Include any custom fields
1767
- ...Object.keys(userData).filter((key) => !["id", "email", "username", "firstName", "lastName", "fullName", "role", "permissions", "isActive", "lastLogin", "createdAt", "updatedAt"].includes(key)).reduce((acc, key) => ({ ...acc, [key]: userData[key] }), {})
1767
+ ...Object.keys(userData).filter(
1768
+ (key) => ![
1769
+ "id",
1770
+ "email",
1771
+ "username",
1772
+ "firstName",
1773
+ "lastName",
1774
+ "fullName",
1775
+ "role",
1776
+ "permissions",
1777
+ "isActive",
1778
+ "lastLogin",
1779
+ "createdAt",
1780
+ "updatedAt"
1781
+ ].includes(key)
1782
+ ).reduce((acc, key) => ({ ...acc, [key]: userData[key] }), {})
1768
1783
  }
1769
1784
  };
1770
1785
  setExtendedData(additionalData);
@@ -2008,12 +2023,7 @@ import { useState as useState8, useEffect as useEffect8, useCallback as useCallb
2008
2023
  import crudify3 from "@nocios/crudify-browser";
2009
2024
  var useCrudifyUser = (options = {}) => {
2010
2025
  const { autoFetch = true, retryOnError = false, maxRetries = 3 } = options;
2011
- const {
2012
- isAuthenticated,
2013
- isInitialized,
2014
- user: jwtUser,
2015
- token
2016
- } = useCrudifyDataContext();
2026
+ const { isAuthenticated, isInitialized, user: jwtUser, token } = useCrudifyDataContext();
2017
2027
  const [userProfile, setUserProfile] = useState8(null);
2018
2028
  const [profileLoading, setProfileLoading] = useState8(false);
2019
2029
  const [profileError, setProfileError] = useState8(null);
@@ -2081,24 +2091,79 @@ var useCrudifyUser = (options = {}) => {
2081
2091
  }
2082
2092
  console.log("\u{1F464} useCrudifyUser - Fetching profile data from database");
2083
2093
  const response = await crudify3.readItems("users", {
2084
- where: { email: userEmail2 },
2085
- limit: 1
2094
+ filter: { email: userEmail2 },
2095
+ pagination: { limit: 1 }
2086
2096
  });
2087
2097
  console.log("\u{1F464} useCrudifyUser - Database response:", response);
2098
+ console.log("\u{1F464} useCrudifyUser - response.data:", response.data);
2099
+ console.log("\u{1F464} useCrudifyUser - response.data type:", typeof response.data);
2088
2100
  if (currentRequestId === requestIdRef.current && mountedRef.current && !abortController.signal.aborted) {
2089
- if (response.success && response.data && response.data.length > 0) {
2090
- const userData = response.data[0];
2101
+ let userData = null;
2102
+ if (response.success) {
2103
+ console.log("\u{1F464} useCrudifyUser - Processing successful response:", {
2104
+ dataType: typeof response.data,
2105
+ isArray: Array.isArray(response.data),
2106
+ hasResponse: !!response.data?.response,
2107
+ hasResponseData: !!response.data?.response?.data,
2108
+ responseDataType: typeof response.data?.response?.data
2109
+ });
2110
+ if (Array.isArray(response.data) && response.data.length > 0) {
2111
+ console.log("\u{1F464} useCrudifyUser - Found direct array format");
2112
+ userData = response.data[0];
2113
+ } else if (response.data?.response?.data) {
2114
+ console.log("\u{1F464} useCrudifyUser - Found nested response.data format");
2115
+ try {
2116
+ const rawData = response.data.response.data;
2117
+ console.log("\u{1F464} useCrudifyUser - Raw nested data:", rawData);
2118
+ console.log("\u{1F464} useCrudifyUser - Raw data type:", typeof rawData);
2119
+ const parsedData = typeof rawData === "string" ? JSON.parse(rawData) : rawData;
2120
+ console.log("\u{1F464} useCrudifyUser - Parsed nested data:", parsedData);
2121
+ if (parsedData && parsedData.items && Array.isArray(parsedData.items) && parsedData.items.length > 0) {
2122
+ userData = parsedData.items[0];
2123
+ console.log("\u{1F464} useCrudifyUser - Extracted user from nested items:", userData);
2124
+ } else {
2125
+ console.log("\u{1F464} useCrudifyUser - No items found in parsed data or items array is empty");
2126
+ }
2127
+ } catch (parseError) {
2128
+ console.error("\u{1F464} useCrudifyUser - Error parsing nested response data:", parseError);
2129
+ }
2130
+ } else if (response.data && typeof response.data === "object") {
2131
+ console.log("\u{1F464} useCrudifyUser - Found object format, checking for items");
2132
+ if (response.data.items && Array.isArray(response.data.items) && response.data.items.length > 0) {
2133
+ console.log("\u{1F464} useCrudifyUser - Found items in object format");
2134
+ userData = response.data.items[0];
2135
+ } else {
2136
+ console.log("\u{1F464} useCrudifyUser - No items found in object format");
2137
+ }
2138
+ } else if (response.data?.data?.response?.data) {
2139
+ console.log("\u{1F464} useCrudifyUser - Found double-nested data.data.response.data format");
2140
+ try {
2141
+ const rawData = response.data.data.response.data;
2142
+ console.log("\u{1F464} useCrudifyUser - Raw double-nested data:", rawData);
2143
+ const parsedData = typeof rawData === "string" ? JSON.parse(rawData) : rawData;
2144
+ console.log("\u{1F464} useCrudifyUser - Parsed double-nested data:", parsedData);
2145
+ if (parsedData && parsedData.items && Array.isArray(parsedData.items) && parsedData.items.length > 0) {
2146
+ userData = parsedData.items[0];
2147
+ console.log("\u{1F464} useCrudifyUser - Extracted user from double-nested items:", userData);
2148
+ }
2149
+ } catch (parseError) {
2150
+ console.error("\u{1F464} useCrudifyUser - Error parsing double-nested response data:", parseError);
2151
+ }
2152
+ }
2153
+ }
2154
+ if (userData) {
2155
+ console.log("\u{1F464} useCrudifyUser - User data found:", userData);
2091
2156
  setUserProfile(userData);
2092
2157
  const extended = {
2093
2158
  fullProfile: userData,
2094
2159
  totalFields: Object.keys(userData).length,
2095
2160
  displayData: {
2096
- id: userData.id,
2161
+ id: userData.id || userData._id,
2097
2162
  email: userData.email,
2098
2163
  username: userData.username,
2099
- firstName: userData.firstName,
2164
+ firstName: userData.firstName || userData.name,
2100
2165
  lastName: userData.lastName,
2101
- fullName: userData.fullName || `${userData.firstName || ""} ${userData.lastName || ""}`.trim() || null,
2166
+ fullName: userData.fullName || `${userData.firstName || userData.name || ""} ${userData.lastName || ""}`.trim() || null,
2102
2167
  role: userData.role,
2103
2168
  permissions: userData.permissions || [],
2104
2169
  isActive: userData.isActive,
@@ -2106,20 +2171,24 @@ var useCrudifyUser = (options = {}) => {
2106
2171
  createdAt: userData.createdAt,
2107
2172
  updatedAt: userData.updatedAt,
2108
2173
  // Include any custom fields
2109
- ...Object.keys(userData).filter((key) => ![
2110
- "id",
2111
- "email",
2112
- "username",
2113
- "firstName",
2114
- "lastName",
2115
- "fullName",
2116
- "role",
2117
- "permissions",
2118
- "isActive",
2119
- "lastLogin",
2120
- "createdAt",
2121
- "updatedAt"
2122
- ].includes(key)).reduce((acc, key) => ({ ...acc, [key]: userData[key] }), {})
2174
+ ...Object.keys(userData).filter(
2175
+ (key) => ![
2176
+ "id",
2177
+ "_id",
2178
+ "email",
2179
+ "username",
2180
+ "firstName",
2181
+ "name",
2182
+ "lastName",
2183
+ "fullName",
2184
+ "role",
2185
+ "permissions",
2186
+ "isActive",
2187
+ "lastLogin",
2188
+ "createdAt",
2189
+ "updatedAt"
2190
+ ].includes(key)
2191
+ ).reduce((acc, key) => ({ ...acc, [key]: userData[key] }), {})
2123
2192
  }
2124
2193
  };
2125
2194
  setExtendedData(extended);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocios/crudify-ui",
3
- "version": "1.2.20",
3
+ "version": "1.2.23",
4
4
  "description": "Biblioteca de componentes UI para Crudify",
5
5
  "author": "Nocios",
6
6
  "license": "MIT",