@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 +99 -30
- package/dist/index.mjs +99 -30
- package/package.json +1 -1
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
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
3338
|
-
|
|
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(
|
|
3358
|
-
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
|
|
3365
|
-
|
|
3366
|
-
|
|
3367
|
-
|
|
3368
|
-
|
|
3369
|
-
|
|
3370
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
2090
|
-
|
|
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(
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
|
|
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);
|