48 lines
1.3 KiB
Python
48 lines
1.3 KiB
Python
"""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()
|