mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-18 20:57:40 +02:00
Improve user data retrieval and add production debugging tools
Update the API to fetch users with simplified logic and introduce detailed SQL scripts and logging for production issue diagnosis. Replit-Commit-Author: Agent Replit-Commit-Session-Id: a8a78c07-e900-425c-a577-5b4c5894379d Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/a8a78c07-e900-425c-a577-5b4c5894379d/jzCmXCx
This commit is contained in:
1 parent
22bdbff494
commit
7235be8b84
4 files changed
+91
-20
No files matched your search
+33
-9
@@ -862,20 +862,44 @@ export async function registerRoutes(app: Express): Promise<Server> {
|
||||
return res.status(403).json({ message: "Access denied" });
|
||||
}
|
||||
|
||||
console.log('🔍 GET /api/users - Fetching users with roles and groups');
|
||||
// Get all users with groups for admin
|
||||
const allUsers = await storage.getUsersWithRolesAndGroups();
|
||||
const safeUsers = Array.isArray(allUsers) ? allUsers : [];
|
||||
console.log('🔍 GET /api/users - Fetching users with simplified approach');
|
||||
|
||||
// Get all basic users first
|
||||
const baseUsers = await storage.getUsers();
|
||||
console.log(`📊 Found ${baseUsers.length} base users`);
|
||||
|
||||
// Add userGroups and userRoles to each user individually with error handling
|
||||
const usersWithData = await Promise.all(
|
||||
baseUsers.map(async (baseUser) => {
|
||||
try {
|
||||
const userWithGroups = await storage.getUserWithGroups(baseUser.id);
|
||||
return {
|
||||
...baseUser,
|
||||
userGroups: userWithGroups?.userGroups || [],
|
||||
userRoles: [] // Keep roles simple for now since we're using hardcoded permissions
|
||||
};
|
||||
} catch (error) {
|
||||
console.error(`❌ Error getting groups for user ${baseUser.username}:`, error);
|
||||
// Return user with empty groups if there's an error
|
||||
return {
|
||||
...baseUser,
|
||||
userGroups: [],
|
||||
userRoles: []
|
||||
};
|
||||
}
|
||||
})
|
||||
);
|
||||
|
||||
console.log('🔐 API /api/users - Returning:', {
|
||||
isArray: Array.isArray(safeUsers),
|
||||
length: safeUsers.length,
|
||||
firstUserGroups: safeUsers.length > 0 ? safeUsers[0].userGroups?.length || 0 : 0
|
||||
isArray: Array.isArray(usersWithData),
|
||||
length: usersWithData.length,
|
||||
totalGroups: usersWithData.reduce((sum, u) => sum + (u.userGroups?.length || 0), 0)
|
||||
});
|
||||
|
||||
res.json(safeUsers);
|
||||
res.json(usersWithData);
|
||||
} catch (error) {
|
||||
console.error("Error fetching users:", error);
|
||||
console.error("❌ Critical error fetching users:", error);
|
||||
console.error("❌ Error stack:", error.stack);
|
||||
// En cas d'erreur, retourner un array vide pour éviter React Error #310
|
||||
res.status(500).json([]);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user