45 lines
2.0 KiB
JavaScript
45 lines
2.0 KiB
JavaScript
import { pool } from '../db.js';
|
|
|
|
const createTestTicket = async () => {
|
|
try {
|
|
console.log('🎫 Création d\'un ticket test avec le bon format...\n');
|
|
|
|
// Générer un code au bon format: TTP + 4 chiffres + 3 caractères
|
|
const digits = Math.floor(Math.random() * 10000).toString().padStart(4, '0');
|
|
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
|
|
let suffix = '';
|
|
for (let i = 0; i < 3; i++) {
|
|
suffix += chars.charAt(Math.floor(Math.random() * chars.length));
|
|
}
|
|
const ticketCode = `TTP${digits}${suffix}`;
|
|
|
|
// Trouver un prize
|
|
const prizeResult = await pool.query(`SELECT id, name FROM prizes WHERE type = 'INFUSEUR' LIMIT 1`);
|
|
const prize = prizeResult.rows[0];
|
|
|
|
// Créer le ticket (disponible, pas encore joué)
|
|
await pool.query(`
|
|
INSERT INTO tickets (code, prize_id, status)
|
|
VALUES ($1, $2, NULL)
|
|
`, [ticketCode, prize.id]);
|
|
|
|
console.log('✅ Ticket créé avec succès!\n');
|
|
console.log('═══════════════════════════════════════════════════');
|
|
console.log('📋 CODE À TESTER:');
|
|
console.log('═══════════════════════════════════════════════════');
|
|
console.log(`🎫 ${ticketCode}`);
|
|
console.log('═══════════════════════════════════════════════════');
|
|
console.log(`🎁 Lot: ${prize.name}`);
|
|
console.log(`📊 Statut: NULL (disponible pour être joué)`);
|
|
console.log('═══════════════════════════════════════════════════\n');
|
|
console.log('💡 Utilisez ce code pour tester le jeu côté client!\n');
|
|
|
|
await pool.end();
|
|
} catch (error) {
|
|
console.error('❌ Erreur:', error.message);
|
|
await pool.end();
|
|
}
|
|
};
|
|
|
|
createTestTicket();
|