""" 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