the-tip-top-backend/database/update-prizes.js
2025-11-17 23:47:54 +01:00

116 lines
4.3 KiB
JavaScript

/**
* Script pour mettre à jour les noms des lots selon les bonnes probabilités
*/
import { pool } from '../db.js';
async function updatePrizeNames() {
try {
console.log('🔄 Mise à jour des noms des lots...\n');
// 60% - Infuseur à thé
await pool.query(`
UPDATE prizes
SET
name = 'Infuseur à thé',
description = 'Un infuseur à thé de qualité supérieure en inox',
value = 39.00
WHERE type = 'INFUSEUR'
`);
console.log('✅ Infuseur à thé (60%) - Mis à jour');
// 20% - Boîte de 100g thé détox ou infusion
await pool.query(`
UPDATE prizes
SET
name = 'Boîte de 100g thé détox ou infusion',
description = 'Une boîte de 100g d''un thé détox ou d''infusion au choix',
value = 0.00,
stock = 100000,
probability = 0.20
WHERE type = 'THE_GRATUIT'
`);
console.log('✅ Boîte de 100g thé détox ou infusion (20%) - Mis à jour');
// 10% - Boîte de 100g thé signature
await pool.query(`
UPDATE prizes
SET
name = 'Boîte de 100g thé signature',
description = 'Une boîte de 100g d''un thé signature - Mélange exclusif',
value = 49.00,
stock = 50000,
probability = 0.10
WHERE type = 'THE_SIGNATURE'
`);
console.log('✅ Boîte de 100g thé signature (10%) - Mis à jour');
// 6% - Coffret découverte 39€
await pool.query(`
UPDATE prizes
SET
name = 'Coffret découverte 39€',
description = 'Coffret découverte avec assortiment de thés d''une valeur de 39€',
value = 39.00,
stock = 30000,
probability = 0.06
WHERE type = 'COFFRET_DECOUVERTE'
`);
console.log('✅ Coffret découverte 39€ (6%) - Mis à jour');
// 4% - Coffret découverte 69€
await pool.query(`
UPDATE prizes
SET
name = 'Coffret découverte 69€',
description = 'Coffret découverte premium avec sélection de thés rares d''une valeur de 69€',
value = 69.00,
stock = 20000,
probability = 0.04
WHERE type = 'COFFRET_PRESTIGE'
`);
console.log('✅ Coffret découverte 69€ (4%) - Mis à jour');
// Afficher le résultat
console.log('\n📊 Vérification des lots mis à jour:\n');
const result = await pool.query(`
SELECT
type,
name,
description,
value,
stock,
probability,
(probability * 100) || '%' as percentage
FROM prizes
ORDER BY probability DESC
`);
console.log('┌─────────────────────────┬──────────────────────────────────────┬────────┬──────────┬──────────────┐');
console.log('│ TYPE │ NOM │ VALEUR │ STOCK │ PROBABILITÉ │');
console.log('├─────────────────────────┼──────────────────────────────────────┼────────┼──────────┼──────────────┤');
result.rows.forEach(row => {
const type = row.type.padEnd(23);
const name = row.name.substring(0, 36).padEnd(36);
const value = (row.value + '€').padStart(6);
const stock = row.stock.toString().padStart(8);
const prob = row.percentage.padStart(12);
console.log(`${type}${name}${value}${stock}${prob}`);
});
console.log('└─────────────────────────┴──────────────────────────────────────┴────────┴──────────┴──────────────┘');
console.log('\n✅ Mise à jour terminée avec succès!');
} catch (error) {
console.error('❌ Erreur lors de la mise à jour:', error);
throw error;
} finally {
await pool.end();
}
}
// Exécuter la mise à jour
updatePrizeNames();