invoice-processing-google-d.../api/schemas.py
2025-08-26 12:26:03 +02:00

32 lines
770 B
Python

# 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