mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-12 01:37:40 +02:00
Modify route protection logic in `server/routes.ts` to allow 'employee' role users to create customer orders and deliveries, aligning with the user's report that all roles should have this capability. Also, remove extensive debugging script and replace with a streamlined test script in `test-employee-customer-orders-production.js`. 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/KcBoGui
75 lines
3.4 KiB
JavaScript
75 lines
3.4 KiB
JavaScript
#!/usr/bin/env node
|
|
|
|
/**
|
|
* Script simple pour diagnostiquer le problème employé en production
|
|
*/
|
|
|
|
console.log('🔍 Diagnostic employé - Création commandes client');
|
|
console.log('');
|
|
|
|
// Instructions pour le diagnostic
|
|
console.log('=== DIAGNOSTIC PRODUCTION - EMPLOYÉ ===');
|
|
console.log('');
|
|
console.log('1. VÉRIFICATIONS CÔTÉ SERVEUR :');
|
|
console.log(' ✓ Restriction hasPermission supprimée de POST /api/customer-orders');
|
|
console.log(' ✓ Seule vérification restante : accès au groupId');
|
|
console.log(' ✓ Tous les rôles peuvent créer des commandes client');
|
|
console.log('');
|
|
|
|
console.log('2. CAUSES POSSIBLES DU PROBLÈME :');
|
|
console.log(' 📋 Employé pas assigné à un groupe valide');
|
|
console.log(' 📋 Problème de validation schema (données envoyées incorrectes)');
|
|
console.log(' 📋 Erreur de groupId dans la requête frontend');
|
|
console.log(' 📋 Session/authentification corrompue');
|
|
console.log('');
|
|
|
|
console.log('3. VÉRIFICATIONS À FAIRE EN PRODUCTION :');
|
|
console.log('');
|
|
console.log('A) Vérifier les groupes de l\'employé :');
|
|
console.log(' - Se connecter en admin');
|
|
console.log(' - Aller dans Administration > Utilisateurs');
|
|
console.log(' - Vérifier que l\'employé est assigné à au moins 1 groupe');
|
|
console.log('');
|
|
|
|
console.log('B) Vérifier les logs serveur :');
|
|
console.log(' - Ouvrir les logs serveur pendant que l\'employé essaie de créer');
|
|
console.log(' - Chercher les messages console.log() de la route POST /api/customer-orders');
|
|
console.log(' - Regarder les erreurs Zod ou autres erreurs de validation');
|
|
console.log('');
|
|
|
|
console.log('C) Tester manuellement avec curl :');
|
|
console.log(' - Se connecter d\'abord pour récupérer le cookie de session');
|
|
console.log(' - Utiliser curl pour tester la création de commande');
|
|
console.log('');
|
|
|
|
console.log('4. EXEMPLE CURL POUR TEST PRODUCTION :');
|
|
console.log('');
|
|
console.log('# 1. Se connecter en employé');
|
|
console.log('curl -c cookies.txt -X POST https://votre-serveur.com/api/login \\');
|
|
console.log(' -H "Content-Type: application/json" \\');
|
|
console.log(' -d \'{"username":"employee_username","password":"employee_password"}\'');
|
|
console.log('');
|
|
|
|
console.log('# 2. Récupérer le profil pour voir les groupes');
|
|
console.log('curl -b cookies.txt https://votre-serveur.com/api/user');
|
|
console.log('');
|
|
|
|
console.log('# 3. Créer une commande client (remplacer groupId par un ID valide)');
|
|
console.log('curl -b cookies.txt -X POST https://votre-serveur.com/api/customer-orders \\');
|
|
console.log(' -H "Content-Type: application/json" \\');
|
|
console.log(' -d \'{"customerName":"Test Employé","contactNumber":"0123456789","productName":"Test","productDescription":"Test","quantity":1,"groupId":1,"isPickup":false,"notes":"Test"}\'');
|
|
console.log('');
|
|
|
|
console.log('5. SOLUTION PROBABLE :');
|
|
console.log(' Si l\'employé n\'est pas assigné à un groupe, l\'assigner via l\'interface admin');
|
|
console.log(' Si validation échoue, vérifier que tous les champs requis sont présents');
|
|
console.log('');
|
|
|
|
console.log('6. CODE SERVEUR ACTUEL (POST /api/customer-orders) :');
|
|
console.log(' - Plus de vérification hasPermission');
|
|
console.log(' - Vérification groupId : userGroupIds.includes(data.groupId)');
|
|
console.log(' - Si employé.userGroups est vide → échec garanti');
|
|
console.log(' - Si data.groupId invalide → échec garanti');
|
|
console.log('');
|
|
|
|
console.log('=== FIN DU DIAGNOSTIC ==='); |