mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-11 17:27:31 +02:00
Fixes production issues preventing employees from creating customer orders and DLC products by ensuring correct permissions, cache invalidation, and backend route configurations. Replit-Commit-Author: Agent Replit-Commit-Session-Id: b163d4c0-de5e-4f4e-a9c0-aed4c7049718 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/b163d4c0-de5e-4f4e-a9c0-aed4c7049718/rEII9fE
3.3 KiB
3.3 KiB
Fix Production Urgent - Employé Commandes Client & DLC
Problèmes Identifiés
- Employé ne peut pas créer commandes clients en production
- DLC ne fonctionnent pas en production (même problème qu'en dev)
- Cache invalidation manquante pour DLC
Analyse du Code
✅ Permissions OK
// shared/permissions.ts - Lignes 67-73 et 75-81
'customer-orders': {
employee: ['view', 'create'] // ✅ PERMISSION OK
},
dlc: {
employee: ['view', 'create'] // ✅ PERMISSION OK
}
✅ Routes Backend OK
// server/routes.ts
// POST /api/customer-orders - REMOVED: All role restrictions
// POST /api/dlc-products - REMOVED: All role restrictions
✅ Frontend Permissions OK
// client/src/lib/permissions.ts - Ligne 118
const canCreate = (module: Module): boolean => canPerformAction(module, 'create');
// usePermissions(user?.role) fonctionne correctement
Root Cause Probable
Le problème n'est PAS les permissions mais plutôt :
- Cache frontend - L'employé a peut-être un cache obsolète
- Erreur validation - Schema validation qui échoue silencieusement
- GroupId manquant - L'employé n'a pas de groupId défini correctement
- DLC Production - Même problème cache qu'en dev
Solutions Immédiates
1. Fix Cache DLC (Déjà Fait en Dev)
// client/src/pages/DlcPage.tsx
queryClient.invalidateQueries({ queryKey: ["/api/dlc-products"], exact: false });
2. Debug Frontend Production
// À tester en console DevTools sur production:
console.log("User:", user);
console.log("Role:", user?.role);
console.log("Groups:", user?.userGroups);
console.log("Can create customer orders:", permissions.canCreate('customer-orders'));
console.log("Can create DLC:", permissions.canCreate('dlc'));
3. Test Manual Production
// Tester en curl direct sur serveur production:
curl -X POST https://votre-serveur/api/customer-orders \
-H "Content-Type: application/json" \
-H "Cookie: session=..." \
-d '{
"customerName": "Test Production",
"contactNumber": "0123456789",
"productName": "Test",
"quantity": 1,
"groupId": 2
}'
Actions Requises
Immédiat
- Redémarrer serveur production pour avoir les derniers fixes
- Vider cache browser de l'employé (Ctrl+F5 ou mode incognito)
- Tester création commande avec DevTools ouvert
- Noter toute erreur console/réseau
Si Problème Persiste
- Logs serveur - Chercher erreurs dans logs production
- User Groups - Vérifier que l'employé a bien un groupe assigné
- Schema Validation - Tester les données envoyées
Checklist Déploiement
- Routes backend sans restrictions rôle
- Permissions employé définies correctement
- Cache invalidation DLC avec exact:false
- Frontend permissions hook fonctionnel
- Serveur production redémarré
- Cache browser employé vidé
- Tests création commande/DLC validés
Fichiers Modifiés
client/src/pages/DlcPage.tsx- Cache invalidation fixserver/routes.ts- Debug logs ajoutésserver/storage.ts- MemStorage DLC fix (dev uniquement)
Prochain Pas
Tester immédiatement après redémarrage serveur production avec un employé en mode incognito + DevTools.