71 lines
2.2 KiB
JavaScript
71 lines
2.2 KiB
JavaScript
import { pool } from '../db.js';
|
|
|
|
const getTestCodes = async () => {
|
|
try {
|
|
console.log('\n🎫 CODES DE TEST DISPONIBLES\n');
|
|
|
|
// Récupérer 10 tickets disponibles de chaque type de prix
|
|
const result = await pool.query(`
|
|
SELECT t.code, p.name as prize_name, p.type as prize_type
|
|
FROM tickets t
|
|
JOIN prizes p ON t.prize_id = p.id
|
|
WHERE t.status IS NULL
|
|
ORDER BY p.type, RANDOM()
|
|
LIMIT 50
|
|
`);
|
|
|
|
if (result.rows.length === 0) {
|
|
console.log('❌ Aucun ticket disponible');
|
|
process.exit(1);
|
|
}
|
|
|
|
console.log('Voici des codes de tickets disponibles pour tester:\n');
|
|
|
|
const groupedByPrize = {};
|
|
result.rows.forEach(ticket => {
|
|
if (!groupedByPrize[ticket.prize_name]) {
|
|
groupedByPrize[ticket.prize_name] = [];
|
|
}
|
|
groupedByPrize[ticket.prize_name].push(ticket.code);
|
|
});
|
|
|
|
for (const [prizeName, codes] of Object.entries(groupedByPrize)) {
|
|
console.log(`📦 ${prizeName}:`);
|
|
codes.slice(0, 5).forEach(code => {
|
|
console.log(` ${code}`);
|
|
});
|
|
console.log('');
|
|
}
|
|
|
|
console.log('🧪 Pour tester:');
|
|
console.log(' 1. Connectez-vous avec: client1@example.com / Client123!');
|
|
console.log(' 2. Allez sur la page Jeu');
|
|
console.log(' 3. Entrez un de ces codes');
|
|
console.log(' 4. Le ticket deviendra PENDING et apparaîtra dans vos gains\n');
|
|
|
|
// Statistiques
|
|
const stats = await pool.query(`
|
|
SELECT
|
|
COUNT(*) FILTER (WHERE status IS NULL) as available,
|
|
COUNT(*) FILTER (WHERE status = 'PENDING') as pending,
|
|
COUNT(*) FILTER (WHERE status = 'CLAIMED') as claimed,
|
|
COUNT(*) as total
|
|
FROM tickets
|
|
`);
|
|
|
|
const s = stats.rows[0];
|
|
console.log('📊 STATISTIQUES:');
|
|
console.log(` Total tickets: ${parseInt(s.total).toLocaleString('fr-FR')}`);
|
|
console.log(` Disponibles: ${parseInt(s.available).toLocaleString('fr-FR')}`);
|
|
console.log(` En attente: ${parseInt(s.pending).toLocaleString('fr-FR')}`);
|
|
console.log(` Réclamés: ${parseInt(s.claimed).toLocaleString('fr-FR')}\n`);
|
|
|
|
process.exit(0);
|
|
} catch (error) {
|
|
console.error('❌ Erreur:', error.message);
|
|
process.exit(1);
|
|
}
|
|
};
|
|
|
|
getTestCodes();
|