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