the-tip-top-backend/scripts/create-test-ticket-valid-format.js
2025-11-17 23:47:54 +01:00

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();