# 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