api-admim/app/schemas/tipo_endereco_schemas.py

45 lines
1002 B
Python

# Importações de bibliotecas padrão
from typing import Optional
# Importações de bibliotecas de terceiros
from pydantic import BaseModel, ConfigDict, Field
# Importações do seu próprio projeto
from .utils import UuidMixinSchema, TimestampMixinSchema, UuidsMixinSchema
from uuid import UUID
class Create(BaseModel):
model_config = ConfigDict(from_attributes=True)
tipo_endereco_descricao: str = Field(min_length=3, max_length=30)
class Request(TimestampMixinSchema, Create, UuidMixinSchema):
pass
class Consulta(BaseModel):
model_config = ConfigDict(from_attributes=True)
uuid: UUID
tipo_endereco_descricao: str | None = None
class UpdateSchema(BaseModel):
tipo_endereco_descricao: Optional[str] = Field(min_length=3, max_length=30, default=None)
class IdRequest(UuidMixinSchema):
pass
class IdsRequest(UuidsMixinSchema):
pass
class UpdateRequest(UpdateSchema, IdRequest):
pass
class UpdateManyRequest(UpdateSchema, IdRequest):
pass