fix(): Ajuste no cadastro de arquivos

This commit is contained in:
Kenio 2025-11-05 12:40:31 -03:00
parent 5b29506c09
commit 6f91dc257e
2 changed files with 7 additions and 7 deletions

View file

@ -147,13 +147,13 @@ class SaveMultipleRepository:
# Usamos 'exclude_unset' para evitar campos opcionais que não foram enviados
doc_data = doc.model_dump(
exclude_unset=True,
exclude={"arquivo_base64"}, # <<< Exclui o Base64 ANTES de ir pro banco
exclude={"arquivo"}, # <<< Exclui o Base64 ANTES de ir pro banco
)
# --- NOVO FLUXO DE ARQUIVOS (Base64 -> Disco) ---
# O campo 'arquivo_base64' foi excluído do doc_data acima.
# O campo 'arquivo' foi excluído do doc_data acima.
# Agora verificamos se ele existe no objeto original (doc)
base64_content = getattr(doc, "arquivo_base64", None)
base64_content = getattr(doc, "arquivo", None)
file_url_path = None
if base64_content and doc.nome_documento:
@ -177,7 +177,7 @@ class SaveMultipleRepository:
doc_data[campo] = None
# 4. Criação e Persistência no Banco
# Note: doc_data NÃO tem mais 'arquivo_base64'. Ele tem 'url' (path do disco).
# Note: doc_data NÃO tem mais 'arquivo'. Ele tem 'url' (path do disco).
new_documento = AtoDocumento(**doc_data, ato_principal_id=new_ato_id)
db.add(new_documento)

View file

@ -18,7 +18,7 @@ from actions.validations.text import Text
class AtoDocumentoSchema(BaseModel):
ato_documento_id: Optional[int] = None
ato_principal_id: Optional[int] = None # bigint NOT NULL
arquivo_base64: Optional[str] = None
arquivo: Optional[str] = None
nome_documento: Optional[str] = None # varchar(255) NOT NULL
tipo_documento: Optional[str] = None # varchar(50) NOT NULL
created_at: Optional[datetime] = None
@ -55,7 +55,7 @@ class AtoDocumentoIdSchema(BaseModel):
class AtoDocumentoSaveSchema(BaseModel):
# Campos obrigatórios
ato_principal_id: Optional[int] = None
arquivo_base64: Optional[str] = None
arquivo: Optional[str] = None
nome_documento: constr(max_length=255)
tipo_documento: constr(max_length=50)
@ -102,7 +102,7 @@ class AtoDocumentoSaveSchema(BaseModel):
class AtoDocumentoUpdateSchema(BaseModel):
# Todos os campos são opcionais no UPDATE
ato_principal_id: Optional[int] = None
arquivo_base64: Optional[str] = None
arquivo: Optional[str] = None
nome_documento: Optional[constr(max_length=255)] = None
tipo_documento: Optional[constr(max_length=50)] = None