Files
LogiFlow/debug-employee-dlc-visibility.js
T
michaelschal 4ca3c17bad Improve DLC product data handling and cache management
Update DLC product fetching to include group filtering, implement precise cache invalidation for DLC-related queries using `exact: false`, and add detailed logging for API requests and responses to aid in debugging.

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
2025-08-12 14:24:19 +00:00

104 lines
3.3 KiB
JavaScript

#!/usr/bin/env node
/**
* Debug final pour vérifier pourquoi les DLC créées par l'employé n'apparaissent pas
*/
console.log('🔍 Debug Final - Visibilité DLC Employé');
async function debugDlcVisibility() {
try {
const fetch = require('node-fetch');
console.log('\n=== DEBUG VISIBILITÉ DLC EMPLOYÉ ===');
// 1. Login admin pour test de contrôle
console.log('1. Test admin...');
const adminLogin = await fetch('http://localhost:5000/api/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ username: 'admin', password: 'admin' })
});
if (!adminLogin.ok) {
console.log('❌ Admin login failed');
return;
}
const adminCookies = adminLogin.headers.get('set-cookie');
// 2. Créer une DLC avec admin
console.log('2. Création DLC par admin...');
const dlcData = {
productName: 'Test DLC Visibilité Admin',
dlcDate: '2025-08-20',
dateType: 'DLC',
quantity: 1,
unit: 'Unité',
supplierId: 1,
location: 'Test Rayon',
groupId: 2, // Groupe Houdemont (même que l'employé)
status: 'en_cours'
};
const createDlc = await fetch('http://localhost:5000/api/dlc-products', {
method: 'POST',
headers: {
'Cookie': adminCookies,
'Content-Type': 'application/json'
},
body: JSON.stringify(dlcData)
});
console.log('Status création:', createDlc.status);
if (createDlc.ok) {
const newDlc = await createDlc.json();
console.log('✅ DLC créée:', {
id: newDlc.id,
productName: newDlc.productName,
groupId: newDlc.groupId
});
}
// 3. Vérifier la liste complète DLC
console.log('\n3. Vérification liste DLC...');
const dlcList = await fetch('http://localhost:5000/api/dlc-products', {
headers: { 'Cookie': adminCookies }
});
if (dlcList.ok) {
const dlcs = await dlcList.json();
console.log('📋 Total DLC:', dlcs.length);
// Filtrer par groupe 2 (Houdemont)
const group2Dlcs = dlcs.filter(d => d.groupId === 2);
console.log('🏪 DLC Groupe 2 (Houdemont):', group2Dlcs.length);
// Dernières DLC créées
const recentDlcs = dlcs.slice(0, 5);
console.log('🆕 5 dernières DLC:');
recentDlcs.forEach(dlc => {
console.log(` - ID: ${dlc.id}, Nom: ${dlc.productName}, Groupe: ${dlc.groupId}`);
});
}
console.log('\n4. Instructions pour test employé production:');
console.log('- Se connecter avec compte employé');
console.log('- Aller sur page DLC Products');
console.log('- Vérifier si les DLC du groupe 2 sont visibles');
console.log('- Regarder dans les outils dev si la requête API retourne des données');
console.log('- Vérifier le cache React Query dans les dev tools');
console.log('\n🔍 Points à vérifier:');
console.log('1. Cache React Query invalidé après création ?');
console.log('2. Filtre groupId correct dans la requête ?');
console.log('3. État de loading/error du composant ?');
console.log('4. Données reçues mais pas affichées ?');
} catch (error) {
console.log('❌ Erreur debug:', error.message);
}
}
debugDlcVisibility();