45 lines
1002 B
Python
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
|