import mysql.connector
from python.db_config import DB_CONFIG

def check_pack_status():
    """Vérifier l'état du pack dans la base de données"""
    conn = mysql.connector.connect(**DB_CONFIG)
    cursor = conn.cursor(dictionary=True)
    
    print("🔍 Vérification du pack dans la base de données...\n")
    
    # 1. Vérifier la transaction
    print("📊 Transaction:")
    cursor.execute("""
        SELECT * FROM payment_transactions 
        WHERE session_id = 'cs_live_a1X9JO1YNYIbRzh5W2VWLwYHk9VYortxzZhbvYtHckPazAly9wtYkK0STB'
    """)
    transaction = cursor.fetchone()
    if transaction:
        print(f"   ID: {transaction['id']}")
        print(f"   User ID: {transaction['user_id']}")
        print(f"   Pack ID: {transaction['pack_id']}")
        print(f"   Pack Type: {transaction['pack_type']}")
        print(f"   Status: {transaction['status']}")
        print(f"   Amount: {transaction['amount']}")
    else:
        print("   ❌ Transaction non trouvée")
        return
    
    # 2. Vérifier dans user_ball_skin_packs
    print(f"\n🎱 Packs de billes pour user_id {transaction['user_id']}:")
    cursor.execute("""
        SELECT * FROM user_ball_skin_packs 
        WHERE user_id = %s
    """, (transaction['user_id'],))
    packs = cursor.fetchall()
    if packs:
        for pack in packs:
            print(f"   - {pack['pack_id']} (acheté le {pack['purchased_at']}, prix: {pack['price_paid']}€)")
    else:
        print("   ❌ Aucun pack de billes trouvé!")
    
    # 3. Vérifier si le pack existe dans ball_skin_packs
    print(f"\n📦 Pack '{transaction['pack_id']}' dans ball_skin_packs:")
    cursor.execute("""
        SELECT * FROM ball_skin_packs 
        WHERE id = %s
    """, (transaction['pack_id'],))
    pack_info = cursor.fetchone()
    if pack_info:
        print(f"   ID: {pack_info['id']}")
        print(f"   Name: {pack_info['name']}")
        print(f"   Description: {pack_info['description']}")
        print(f"   Price: {pack_info['price']}")
        print(f"   Is Free: {pack_info['is_free']}")
    else:
        print("   ❌ Pack non trouvé dans ball_skin_packs!")
    
    # 4. Vérifier les skins individuels du pack
    print(f"\n🎨 Skins du pack '{transaction['pack_id']}':")
    cursor.execute("""
        SELECT bs.* FROM ball_skins bs
        WHERE bs.pack_id = %s
    """, (transaction['pack_id'],))
    skins = cursor.fetchall()
    if skins:
        for skin in skins:
            print(f"   - {skin['id']}: {skin['name']}")
    else:
        print("   ❌ Aucun skin trouvé pour ce pack!")
    
    # 5. Vérifier les skins débloqués individuellement
    print(f"\n✅ Skins individuels débloqués pour user_id {transaction['user_id']}:")
    cursor.execute("""
        SELECT * FROM user_ball_skins 
        WHERE user_id = %s
    """, (transaction['user_id'],))
    user_skins = cursor.fetchall()
    if user_skins:
        for skin in user_skins:
            print(f"   - {skin['skin_id']}")
    else:
        print("   ℹ️  Aucun skin individuel débloqué")
    
    conn.close()

if __name__ == '__main__':
    check_pack_status()
