2026-02-01 09:31:38 +01:00

38 lines
1.1 KiB
Python

"""
Pydantic schemas for authentication.
"""
from typing import Optional
from pydantic import BaseModel, EmailStr, Field
class LoginRequest(BaseModel):
"""Schema pour la requête de connexion"""
email: EmailStr = Field(..., description="Email de l'utilisateur")
password: str = Field(..., min_length=1, description="Mot de passe de l'utilisateur")
class RegisterRequest(BaseModel):
"""Schema pour la requête d'inscription"""
email: EmailStr = Field(..., description="Email de l'utilisateur")
password: str = Field(..., min_length=8, description="Mot de passe (min 8 caractères)")
name: Optional[str] = Field(None, description="Nom de l'utilisateur (optionnel)")
referral_code: Optional[str] = Field(None, description="Code de parrainage (optionnel)")
class AuthResponse(BaseModel):
"""Schema pour la réponse d'authentification"""
data: dict
meta: dict
class Config:
from_attributes = True
class ErrorResponse(BaseModel):
"""Schema pour les réponses d'erreur"""
error: dict
class Config:
from_attributes = True