Files

17 lines
581 B
Python

from typing import Optional, Dict, Any, List
from pydantic import BaseModel, Field, EmailStr
class LoginDTO(BaseModel):
email: str = Field(..., description="Correo electrónico institucional")
password: str = Field(..., min_length=1, description="Contraseña de acceso")
class TokenResponseDTO(BaseModel):
access_token: str
refresh_token: str
token_type: str = "Bearer"
expires_in: int = 900 # 15 minutos en segundos
user: Dict[str, Any]
class RefreshTokenDTO(BaseModel):
refresh_token: str = Field(..., description="Token de refresco válido")