#!/usr/bin/env python3
"""Vérifie le rang des utilisateurs par ordre d'inscription"""

import mysql.connector
from python.db_config import DB_CONFIG

conn = mysql.connector.connect(**DB_CONFIG)
cursor = conn.cursor(dictionary=True)

print("=" * 70)
print("VÉRIFICATION DES RANGS D'INSCRIPTION")
print("=" * 70)

# Récupérer tous les utilisateurs non-guest, non-admin par ordre de création
cursor.execute("""
    SELECT 
        id,
        email,
        display_name,
        created_at,
        @row_number := @row_number + 1 AS user_rank
    FROM users, (SELECT @row_number := 0) AS t
    WHERE guest = 0 AND is_admin = 0
    ORDER BY created_at ASC, id ASC
    LIMIT 110
""")
users = cursor.fetchall()

print(f"\n📊 Total des utilisateurs trouvés : {len(users)}\n")
print(f"{'Rang':<6} {'ID':<6} {'Nom':<25} {'Email':<30} {'Date création'}")
print("-" * 100)

for user in users:
    rank = user['user_rank']
    user_id = user['id']
    display_name = user['display_name'][:24] if user['display_name'] else '(vide)'
    email = user['email'][:29] if user['email'] else '(vide)'
    created_at = user['created_at']
    
    # Marquer les utilisateurs dans le top 100
    marker = " ✅ TOP 100" if rank <= 100 else ""
    
    print(f"{rank:<6} {user_id:<6} {display_name:<25} {email:<30} {created_at}{marker}")

print("\n" + "=" * 70)
print(f"✅ Les {min(100, len(users))} premiers utilisateurs devraient avoir le badge 'Top 100'")

cursor.close()
conn.close()
