/** * Générer un token JWT pour un admin */ import 'dotenv/config'; import jwt from 'jsonwebtoken'; import { pool } from '../db.js'; async function generateAdminToken() { console.log('🔑 Génération d\'un token admin...\n'); try { // Récupérer un admin const result = await pool.query(` SELECT id, email, role, first_name, last_name FROM users WHERE role = 'ADMIN' LIMIT 1 `); if (result.rows.length === 0) { console.log('❌ Aucun utilisateur ADMIN trouvé dans la base de données'); console.log('\n💡 Créez d\'abord un admin avec:'); console.log(' node scripts/create-admin.js'); process.exit(1); } const admin = result.rows[0]; console.log('✅ Admin trouvé:'); console.log(` Email: ${admin.email}`); console.log(` Nom: ${admin.first_name} ${admin.last_name}`); console.log(` Role: ${admin.role}\n`); // Générer le token const token = jwt.sign( { userId: admin.id }, process.env.JWT_SECRET, { expiresIn: '7d' } // Token valide 7 jours ); console.log('🎫 TOKEN GÉNÉRÉ:\n'); console.log(token); console.log('\n'); console.log('📋 COMMENT UTILISER CE TOKEN:\n'); console.log('1. Ouvrir la console du navigateur (F12)'); console.log('2. Aller dans l\'onglet "Application" ou "Storage"'); console.log('3. Cliquer sur "Local Storage" > "http://localhost:3000"'); console.log('4. Modifier ou créer la clé "token" avec la valeur ci-dessus'); console.log('5. Rafraîchir la page (F5)'); console.log('\n✅ Vous serez connecté en tant qu\'admin!\n'); // Test du token console.log('🧪 TEST DU TOKEN:\n'); const decoded = jwt.verify(token, process.env.JWT_SECRET); console.log(' Décodé:', decoded); console.log(' Expire dans: 7 jours'); console.log(' User ID:', decoded.userId); } catch (error) { console.error('❌ Erreur:', error.message); } finally { await pool.end(); } } generateAdminToken();