import mysql.connector
from python.db_config import DB_CONFIG

conn = mysql.connector.connect(**DB_CONFIG)
cursor = conn.cursor()

# Créer la table user_challenge_pack
print("Création de la table user_challenge_pack...")
cursor.execute('''
    CREATE TABLE IF NOT EXISTS user_challenge_pack (
        user_id INT NOT NULL,
        purchased_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        transaction_id VARCHAR(255) DEFAULT NULL,
        price_paid DECIMAL(10,2) DEFAULT 9.99,
        PRIMARY KEY (user_id),
        FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
''')

# Ajouter la config si elle n'existe pas
print("Ajout de la configuration challenge_pack_enabled...")
cursor.execute('''
    INSERT INTO app_config (config_key, config_value) 
    VALUES ('challenge_pack_enabled', 'false')
    ON DUPLICATE KEY UPDATE config_value = config_value
''')

# Créer la table daily_challenges
print("Création de la table daily_challenges...")
cursor.execute('''
    CREATE TABLE IF NOT EXISTS daily_challenges (
        date_key DATE NOT NULL PRIMARY KEY,
        difficulty VARCHAR(20) DEFAULT 'medium',
        level_index INT NOT NULL,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
''')

# Générer les défis de janvier 2026
print("Génération des défis de janvier 2026...")
january_challenges = []
for day in range(1, 32):
    date_key = f"2026-01-{day:02d}"
    level_index = day - 1  # 0 à 30
    january_challenges.append((date_key, 'medium', level_index))

cursor.executemany('''
    INSERT IGNORE INTO daily_challenges (date_key, difficulty, level_index) 
    VALUES (%s, %s, %s)
''', january_challenges)

conn.commit()
print(f"✓ {cursor.rowcount} défis de janvier 2026 ajoutés")

# Vérifier les données
cursor.execute("SELECT COUNT(*) FROM daily_challenges")
count = cursor.fetchone()[0]
print(f"Total des défis en base: {count}")

cursor.execute("SELECT * FROM app_config WHERE config_key = 'challenge_pack_enabled'")
config = cursor.fetchone()
print(f"Config challenge_pack_enabled: {config}")

cursor.close()
conn.close()
print("\n✓ Setup du pack défis terminé !")
