80 lines
2.5 KiB
Python
80 lines
2.5 KiB
Python
from datetime import datetime
|
|
from decimal import Decimal
|
|
from pydantic import BaseModel
|
|
from typing import Optional, List
|
|
|
|
|
|
# ----------------------------------------------------
|
|
# Schema base - representa a tabela de Biometria
|
|
# ----------------------------------------------------
|
|
class TBiometriaPessoaSchema(BaseModel):
|
|
biometria_pessoa_id: Optional[Decimal] = None
|
|
digital_id: Optional[Decimal] = None
|
|
objeto: Optional[str] = None
|
|
chave_id: Optional[Decimal] = None
|
|
imagem_biometria: Optional[str] = None
|
|
objeto_backup: Optional[str] = None
|
|
objeto_strig_normal: Optional[str] = None
|
|
leitorbiometrico: Optional[str] = None
|
|
data_coleta: Optional[datetime] = None
|
|
pessoa_id: Optional[Decimal] = None
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|
|
# ----------------------------------------------------
|
|
# Schema para localizar um registro pelo ID (GET /{id})
|
|
# ----------------------------------------------------
|
|
class TBiometriaPessoaResponseSchema(BaseModel):
|
|
biometria_pessoa_id: Optional[Decimal] = None
|
|
digital_id: Optional[Decimal] = None
|
|
objeto: Optional[str] = None
|
|
chave_id: Optional[Decimal] = None
|
|
imagem_biometria: Optional[str] = None
|
|
objeto_backup: Optional[str] = None
|
|
objeto_strig_normal: Optional[str] = None
|
|
leitorbiometrico: Optional[str] = None
|
|
data_coleta: Optional[datetime] = None
|
|
pessoa_id: Optional[Decimal] = None
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|
|
# ----------------------------------------------------
|
|
# Schema para localizar um registro pelo ID (GET /{id})
|
|
# ----------------------------------------------------
|
|
class TBiometriaPessoaIndexSchema(BaseModel):
|
|
chave_id: Decimal
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|
|
# ----------------------------------------------------
|
|
# Schema para localizar um registro pelo ID (GET /{id})
|
|
# ----------------------------------------------------
|
|
class TBiometriaPessoaIdSchema(BaseModel):
|
|
biometria_pessoa_id: Decimal
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|
|
# ----------------------------------------------------
|
|
# Schema para criação (POST)
|
|
# ----------------------------------------------------
|
|
class TBiometriaPessoaSaveSchema(TBiometriaPessoaSchema):
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|
|
# ----------------------------------------------------
|
|
# Schema para atualização (PUT)
|
|
# ----------------------------------------------------
|
|
class TBiometriaPessoaUpdateSchema(TBiometriaPessoaSchema):
|
|
|
|
class Config:
|
|
from_attributes = True
|