Merge pull request #41 from R0m1k3/1.1

Improve order creation and retrieval for employees by adding logging
This commit is contained in:
LogiFlow authored and GitHub committed 2025-08-12 16:15:45 +02:00
commit 4b785417f6
2 files changed
+77 -5

No files matched your search

+57
View File
@@ -0,0 +1,57 @@
#!/usr/bin/env node
/**
* Instructions de debug pour le problème DLC employé en production
*/
console.log('🔍 Debug DLC Employé - Instructions Production');
console.log('='.repeat(50));
console.log(`
ÉTAPES DE DIAGNOSTIC:
1. 🔍 TESTER CRÉATION DLC EMPLOYÉ:
- Se connecter en tant qu'employé
- Créer une DLC
- Regarder les logs serveur pour:
"🔍 Creating DLC product - no role restrictions:"
- Noter le requestGroupId et userGroups dans les logs
2. 🔍 TESTER RÉCUPÉRATION DLC EMPLOYÉ:
- Immédiatement après création, aller sur la page DLC
- Regarder les logs serveur pour:
"🔍 DLC Products API called with:"
- Comparer groupIds utilisateur vs groupId de la DLC créée
3. 🔍 VÉRIFIER ASSIGNATION GROUPES:
- Si userGroups est vide ou ne contient pas le bon groupId
- L'employé n'est pas assigné au bon groupe dans user_groups
4. 🔍 TESTS À FAIRE:
Test A - Créer DLC:
POST /api/dlc-products avec groupId=1
-> Vérifier le log "🔍 Creating DLC product"
-> Noter requestGroupId et userGroups
Test B - Lister DLC:
GET /api/dlc-products
-> Vérifier le log "🔍 DLC Products API called with"
-> Comparer groupIds filtrés vs groupId de création
5. 🔍 SOLUTION PROBABLE:
- Si userGroups ne contient pas le requestGroupId
- Ajouter l'employé au bon groupe dans la table user_groups
- Ou modifier le frontend pour utiliser le bon groupId
LOGS À RECHERCHER:
- "🔍 Creating DLC product - no role restrictions:"
- "🔍 DLC Products API called with:"
- "📋 DLC Products returned:"
- "📋 Sample DLC products groupIds:"
`);
console.log('\n🔧 Tests de validation rapides en production:');
console.log('1. Vérifier les groupes assignés à l\'employé');
console.log('2. Vérifier que la DLC est créée avec le bon groupId');
console.log('3. Vérifier que le filtre groupIds inclut ce groupId');
+20 -5
View File
@@ -2219,11 +2219,13 @@ RÉSUMÉ DU SCAN
if (status) filters.status = status;
if (supplierId) filters.supplierId = parseInt(supplierId);
console.log('DLC Products API called with:', {
console.log('🔍 DLC Products API called with:', {
userId,
userRole: user.role,
userGroups: user.userGroups?.map(ug => ({groupId: ug.group.id, groupName: ug.group.name})),
groupIds: user.role === 'admin' && !req.query.storeId ? 'all' : groupIds,
filters
filters,
queryStoreId: req.query.storeId
});
const dlcProducts = await storage.getDlcProducts(
@@ -2231,7 +2233,10 @@ RÉSUMÉ DU SCAN
filters
);
console.log('DLC Products returned:', dlcProducts.length, 'items');
console.log('📋 DLC Products returned:', dlcProducts.length, 'items');
if (dlcProducts.length > 0) {
console.log('📋 Sample DLC products groupIds:', dlcProducts.slice(0, 3).map(p => ({id: p.id, name: p.productName, groupId: p.groupId})));
}
res.json(dlcProducts);
} catch (error) {
console.error("Error fetching DLC products:", error);
@@ -2307,7 +2312,12 @@ RÉSUMÉ DU SCAN
}
// REMOVED: All role restrictions - tous les rôles peuvent créer des DLC
console.log("Creating DLC product - no role restrictions:", { userId, userRole: user.role, groupId: req.body.groupId });
console.log("🔍 Creating DLC product - no role restrictions:", {
userId,
userRole: user.role,
requestGroupId: req.body.groupId,
userGroups: user.userGroups?.map(ug => ({groupId: ug.group.id, groupName: ug.group.name}))
});
const validatedData = insertDlcProductFrontendSchema.parse({
...req.body,
@@ -2315,7 +2325,12 @@ RÉSUMÉ DU SCAN
});
const dlcProduct = await storage.createDlcProduct(validatedData);
console.log('✅ DLC Product created successfully:', dlcProduct.id);
console.log('✅ DLC Product created successfully:', {
id: dlcProduct.id,
productName: dlcProduct.productName,
groupId: dlcProduct.groupId,
createdBy: dlcProduct.createdBy
});
res.status(201).json(dlcProduct);
} catch (error) {