# api/schemas.py from pydantic import BaseModel, EmailStr from typing import Optional # --- Token Schemas --- class Token(BaseModel): access_token: str token_type: str class TokenData(BaseModel): username: Optional[str] = None # --- User Schemas --- # Propiedades base del usuario (compartidas) class UserBase(BaseModel): username: str email: EmailStr # Esquema para la creación de un usuario (recibe la contraseña) class UserCreate(UserBase): password: str # Esquema para leer/devolver un usuario desde la API (nunca incluye la contraseña) class User(UserBase): id: int is_active: bool class Config: # Permite que Pydantic lea los datos directamente desde un objeto ORM de SQLAlchemy from_attributes = True