the-tip-top-backend/scripts/create-grand-prize.js
2025-11-17 23:47:54 +01:00

82 lines
2.0 KiB
JavaScript

/**
* Script pour créer le gros lot du tirage final
* An de thé - 360€
*/
import 'dotenv/config';
import { pool } from '../db.js';
async function createGrandPrize() {
console.log('🎁 Création du gros lot pour le tirage final...\n');
try {
// Vérifier si le lot existe déjà
const existing = await pool.query(`
SELECT * FROM prizes WHERE name = 'An de thé'
`);
if (existing.rows.length > 0) {
console.log('⚠️ Le lot "An de thé" existe déjà:');
console.log(JSON.stringify(existing.rows[0], null, 2));
// Mettre à jour
await pool.query(`
UPDATE prizes
SET
type = 'GRAND_PRIZE',
description = 'Gros lot du tirage final - Un an de thé d''exception',
value = '360.00',
stock = 1,
probability = 0,
is_active = TRUE
WHERE name = 'An de thé'
RETURNING *
`);
console.log('\n✅ Lot mis à jour avec succès!');
} else {
// Créer le lot
const result = await pool.query(`
INSERT INTO prizes (
type,
name,
description,
value,
stock,
probability,
is_active
) VALUES (
'GRAND_PRIZE',
'An de thé',
'Gros lot du tirage final - Un an de thé d''exception',
'360.00',
1,
0,
TRUE
)
RETURNING *
`);
console.log('✅ Gros lot créé avec succès!');
console.log(JSON.stringify(result.rows[0], null, 2));
}
// Afficher tous les lots
console.log('\n📋 Liste complète des lots:');
const allPrizes = await pool.query(`
SELECT name, type, value, stock, probability, is_active
FROM prizes
ORDER BY CAST(value AS DECIMAL) DESC
`);
console.table(allPrizes.rows);
} catch (error) {
console.error('❌ Erreur:', error.message);
} finally {
await pool.end();
}
}
createGrandPrize();