MirrorAPI/packages/v1/administrativo/schemas/ato_principal_schema.py

56 lines
1.7 KiB
Python

from pydantic import BaseModel
from typing import Optional
from datetime import datetime
from ipaddress import IPv4Address, IPv6Address
from decimal import Decimal
# ----------------------------------------------------
# Schema base - campos principais e comuns
# ----------------------------------------------------
class AtoPrincipalBaseSchema(BaseModel):
origem_ato_principal_id: Optional[int] = None
identificacao_pedido_cgj: int
tipo_ato: int
codigo_selo: str
codigo_ato: str
nome_civil_ato: str
nome_serventuario_praticou_ato: str
data_solicitacao: datetime
ip_maquina: Optional[IPv4Address | IPv6Address] = None
inteiro_teor: str
valor_entrada: Optional[Decimal] = None
emolumento: Decimal
taxa_judiciaria: Decimal
fundos_estaduais: Decimal
protocolo_protesto: Optional[str] = None
protocolo_imovel: Optional[str] = None
class Config:
from_attributes = True
# ----------------------------------------------------
# Schema de resposta (GET) — inclui metadata
# ----------------------------------------------------
class AtoPrincipalResponseSchema(AtoPrincipalBaseSchema):
ato_principal_id: int
created_at: datetime
updated_at: datetime
class Config:
from_attributes = True
# ----------------------------------------------------
# Schema de criação (POST)
# ----------------------------------------------------
class AtoPrincipalCreateSchema(AtoPrincipalBaseSchema):
pass
# ----------------------------------------------------
# Schema de atualização (PUT)
# ----------------------------------------------------
class AtoPrincipalUpdateSchema(AtoPrincipalBaseSchema):
ato_principal_id: int