"""Script pour créer un utilisateur de test.""" import sys sys.path.insert(0, 'backend') from sqlalchemy.orm import Session from app.database import SessionLocal from app.models.user import User from passlib.context import CryptContext import secrets import string # Configuration du hashage de mot de passe pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto") db = SessionLocal() try: # Générer un code de parrainage unique referral_code = ''.join(secrets.choice(string.ascii_uppercase + string.digits) for _ in range(8)) # Créer un utilisateur de test test_user = User( email="test@example.com", name="Utilisateur Test", password_hash=pwd_context.hash("password123"), is_premium=False, referral_code=referral_code ) db.add(test_user) db.commit() db.refresh(test_user) print("=== Utilisateur créé avec succès ===") print(f"ID: {test_user.id}") print(f"Email: {test_user.email}") print(f"Nom: {test_user.name}") print(f"Mot de passe: password123") print(f"Code de parrainage: {test_user.referral_code}") print(f"Premium: {'Oui' if test_user.is_premium else 'Non'}") print(f"Créé le: {test_user.created_at}") except Exception as e: print(f"Erreur lors de la création de l'utilisateur: {e}") db.rollback() finally: db.close()