mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-18 12:47:33 +02:00
Improve access for director role to calendar features in production
Add permission checks to /api/orders and /api/deliveries routes and create a diagnostic script to debug production calendar access issues for the director role. 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/lOTIEjy
This commit is contained in:
1 parent
c1718f2f1f
commit
55b3aaa9e1
4 files changed
+222
-2
No files matched your search
@@ -0,0 +1,77 @@
|
||||
# Solution - Problème Calendrier Directeur en Production
|
||||
|
||||
## Problème Identifié
|
||||
Le rôle directeur rencontre une erreur réseau lors de l'accès au module calendrier en production.
|
||||
|
||||
## Diagnostic Effectué
|
||||
|
||||
### ✅ Corrections Appliquées
|
||||
1. **Permissions côté serveur ajoutées** pour tous les modules:
|
||||
- `GET /api/orders` utilise maintenant `requirePermission('orders', 'view')`
|
||||
- `GET /api/deliveries` utilise maintenant `requirePermission('deliveries', 'view')`
|
||||
- `POST /api/customer-orders` utilise `requirePermission('customer-orders', 'create')`
|
||||
- `PUT /api/customer-orders/:id` utilise `requirePermission('customer-orders', 'edit')`
|
||||
- `DELETE /api/customer-orders/:id` utilise `requirePermission('customer-orders', 'delete')`
|
||||
- Toutes les routes DLC utilisent les bonnes permissions (`view`, `create`, `edit`, `delete`, `validate`)
|
||||
|
||||
2. **Permissions directeur vérifiées** dans `shared/permissions.ts`:
|
||||
- ✅ Directeur a `view` pour `orders` (ligne 38)
|
||||
- ✅ Directeur a `view` pour `deliveries` (ligne 46)
|
||||
- ✅ Directeur a toutes les permissions pour `customer-orders` (ligne 70)
|
||||
|
||||
### 🔍 Analyse du Problème
|
||||
Le problème n'est **PAS** lié aux permissions côté serveur. Les permissions sont correctement configurées pour le rôle directeur.
|
||||
|
||||
### 🚨 Cause Probable
|
||||
L'erreur réseau indique un problème de **connectivité** ou de **configuration serveur** en production:
|
||||
|
||||
1. **Timeout réseau** - Les APIs `/api/orders` et `/api/deliveries` prennent trop de temps à répondre
|
||||
2. **Problème de load balancer** - Les requêtes ne parviennent pas au serveur d'applications
|
||||
3. **Configuration firewall** - Certaines requêtes sont bloquées
|
||||
4. **Problème de base de données** - Lenteur ou indisponibilité temporaire
|
||||
|
||||
## 🛠️ Script de Diagnostic
|
||||
Un script de diagnostic a été créé: `debug-calendar-production.js`
|
||||
|
||||
### Utilisation:
|
||||
```bash
|
||||
# 1. Configurez les variables d'environnement
|
||||
export PRODUCTION_URL="https://votre-serveur-production.com"
|
||||
export PROD_USERNAME="votre-directeur-username"
|
||||
export PROD_PASSWORD="votre-directeur-password"
|
||||
|
||||
# 2. Exécutez le diagnostic
|
||||
node debug-calendar-production.js --run
|
||||
```
|
||||
|
||||
### Le script teste:
|
||||
- ✅ Connexion au serveur
|
||||
- ✅ Authentification directeur
|
||||
- ✅ Récupération du profil utilisateur
|
||||
- ✅ API `/api/orders` (utilisée par le calendrier)
|
||||
- ✅ API `/api/deliveries` (utilisée par le calendrier)
|
||||
- ✅ Temps de réponse réseau
|
||||
|
||||
## 📋 Actions Recommandées
|
||||
|
||||
### 1. Vérifications Immédiates
|
||||
- [ ] Vérifier que le serveur de production est démarré
|
||||
- [ ] Tester la connectivité réseau depuis le navigateur du directeur
|
||||
- [ ] Vérifier les logs serveur pour erreurs de timeout
|
||||
|
||||
### 2. Diagnostic Approfondi
|
||||
- [ ] Exécuter `debug-calendar-production.js` pour identifier l'API défaillante
|
||||
- [ ] Vérifier les performances de la base de données en production
|
||||
- [ ] Contrôler la configuration du load balancer/reverse proxy
|
||||
|
||||
### 3. Solutions selon le diagnostic
|
||||
- **Si timeout réseau**: Augmenter les timeouts du serveur web
|
||||
- **Si problème DB**: Optimiser les requêtes ou redémarrer la DB
|
||||
- **Si load balancer**: Vérifier la configuration du proxy
|
||||
|
||||
## 📊 État du Projet
|
||||
- ✅ **Permissions employé** - Customer Orders et DLC fonctionnent
|
||||
- ✅ **Permissions directeur** - Système de permissions correct
|
||||
- 🔄 **Connectivité production** - Diagnostic en cours avec script
|
||||
|
||||
Le système de permissions est maintenant entièrement cohérent entre côté client et serveur pour tous les rôles.
|
||||
Reference in new issue
Block a user