import { pool } from '../db.js'; const createTestTicket = async () => { try { console.log('🎫 CrΓ©ation d\'un ticket de test pour validation employΓ©...\n'); // 1. RΓ©cupΓ©rer un client de test const clientResult = await pool.query(` SELECT id, email, first_name, last_name FROM users WHERE role = 'CLIENT' LIMIT 1 `); if (clientResult.rows.length === 0) { console.log('❌ Aucun client trouvΓ©.'); process.exit(1); } const client = clientResult.rows[0]; console.log('πŸ‘€ Client:', `${client.first_name} ${client.last_name} (${client.email})`); // 2. RΓ©cupΓ©rer un lot disponible const prizeResult = await pool.query(` SELECT id, name, type, description FROM prizes ORDER BY RANDOM() LIMIT 1 `); if (prizeResult.rows.length === 0) { console.log('❌ Aucun lot trouvΓ©.'); process.exit(1); } const prize = prizeResult.rows[0]; console.log('🎁 Lot:', prize.name); // 3. GΓ©nΓ©rer un code unique const generateTicketCode = () => { const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; let code = ''; for (let i = 0; i < 10; i++) { code += chars.charAt(Math.floor(Math.random() * chars.length)); } return code; }; let ticketCode = generateTicketCode(); // 4. CrΓ©er le ticket en statut PENDING const ticketResult = await pool.query(` INSERT INTO tickets (code, user_id, prize_id, status, played_at) VALUES ($1, $2, $3, $4, NOW()) RETURNING id, code, status, played_at `, [ ticketCode, client.id, prize.id, 'PENDING' ]); const ticket = ticketResult.rows[0]; console.log('\nβœ… Ticket de test créé avec succΓ¨s!\n'); console.log('═══════════════════════════════════════════════════'); console.log('πŸ“‹ INFORMATIONS DU TICKET'); console.log('═══════════════════════════════════════════════════'); console.log('πŸ”‘ Code: ', ticket.code); console.log('πŸ‘€ Client: ', `${client.first_name} ${client.last_name}`); console.log('πŸ“§ Email: ', client.email); console.log('🎁 Lot gagnΓ©: ', prize.name); console.log('πŸ“Š Statut: ', ticket.status); console.log('═══════════════════════════════════════════════════'); console.log('\nπŸ’‘ Utilisez ce code pour tester la validation employΓ©:\n'); console.log(` ${ticket.code}\n`); process.exit(0); } catch (error) { console.error('❌ Erreur:', error.message); process.exit(1); } }; createTestTicket();