#!/usr/bin/env python3
"""Affiche tous les utilisateurs de la base"""

import mysql.connector
from python.db_config import DB_CONFIG

conn = mysql.connector.connect(**DB_CONFIG)
cursor = conn.cursor(dictionary=True)

print("=" * 90)
print("LISTE DE TOUS LES UTILISATEURS")
print("=" * 90)

# Récupérer TOUS les utilisateurs
cursor.execute("""
    SELECT 
        id,
        email,
        display_name,
        created_at,
        guest,
        is_admin
    FROM users
    ORDER BY created_at ASC, id ASC
""")
users = cursor.fetchall()

print(f"\n📊 Total des utilisateurs : {len(users)}\n")
print(f"{'ID':<6} {'Nom':<25} {'Email':<30} {'Guest':<8} {'Admin':<8} {'Date création'}")
print("-" * 110)

for user in users:
    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']
    is_guest = "✅ Guest" if user['guest'] else ""
    is_admin = "⚡ Admin" if user['is_admin'] else ""
    
    print(f"{user_id:<6} {display_name:<25} {email:<30} {is_guest:<8} {is_admin:<8} {created_at}")

print("\n" + "=" * 90)

# Compter par catégorie
cursor.execute("SELECT COUNT(*) as total FROM users WHERE guest = 0 AND is_admin = 0")
normal_count = cursor.fetchone()['total']

cursor.execute("SELECT COUNT(*) as total FROM users WHERE guest = 1")
guest_count = cursor.fetchone()['total']

cursor.execute("SELECT COUNT(*) as total FROM users WHERE is_admin = 1")
admin_count = cursor.fetchone()['total']

print(f"✅ Utilisateurs normaux : {normal_count}")
print(f"👤 Invités : {guest_count}")
print(f"⚡ Admins : {admin_count}")

cursor.close()
conn.close()
