fix(): Ajuste no cadastro de arquivos
This commit is contained in:
parent
5b29506c09
commit
6f91dc257e
2 changed files with 7 additions and 7 deletions
|
|
@ -147,13 +147,13 @@ class SaveMultipleRepository:
|
||||||
# Usamos 'exclude_unset' para evitar campos opcionais que não foram enviados
|
# Usamos 'exclude_unset' para evitar campos opcionais que não foram enviados
|
||||||
doc_data = doc.model_dump(
|
doc_data = doc.model_dump(
|
||||||
exclude_unset=True,
|
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) ---
|
# --- 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)
|
# 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
|
file_url_path = None
|
||||||
|
|
||||||
if base64_content and doc.nome_documento:
|
if base64_content and doc.nome_documento:
|
||||||
|
|
@ -177,7 +177,7 @@ class SaveMultipleRepository:
|
||||||
doc_data[campo] = None
|
doc_data[campo] = None
|
||||||
|
|
||||||
# 4. Criação e Persistência no Banco
|
# 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)
|
new_documento = AtoDocumento(**doc_data, ato_principal_id=new_ato_id)
|
||||||
db.add(new_documento)
|
db.add(new_documento)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ from actions.validations.text import Text
|
||||||
class AtoDocumentoSchema(BaseModel):
|
class AtoDocumentoSchema(BaseModel):
|
||||||
ato_documento_id: Optional[int] = None
|
ato_documento_id: Optional[int] = None
|
||||||
ato_principal_id: Optional[int] = None # bigint NOT NULL
|
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
|
nome_documento: Optional[str] = None # varchar(255) NOT NULL
|
||||||
tipo_documento: Optional[str] = None # varchar(50) NOT NULL
|
tipo_documento: Optional[str] = None # varchar(50) NOT NULL
|
||||||
created_at: Optional[datetime] = None
|
created_at: Optional[datetime] = None
|
||||||
|
|
@ -55,7 +55,7 @@ class AtoDocumentoIdSchema(BaseModel):
|
||||||
class AtoDocumentoSaveSchema(BaseModel):
|
class AtoDocumentoSaveSchema(BaseModel):
|
||||||
# Campos obrigatórios
|
# Campos obrigatórios
|
||||||
ato_principal_id: Optional[int] = None
|
ato_principal_id: Optional[int] = None
|
||||||
arquivo_base64: Optional[str] = None
|
arquivo: Optional[str] = None
|
||||||
nome_documento: constr(max_length=255)
|
nome_documento: constr(max_length=255)
|
||||||
tipo_documento: constr(max_length=50)
|
tipo_documento: constr(max_length=50)
|
||||||
|
|
||||||
|
|
@ -102,7 +102,7 @@ class AtoDocumentoSaveSchema(BaseModel):
|
||||||
class AtoDocumentoUpdateSchema(BaseModel):
|
class AtoDocumentoUpdateSchema(BaseModel):
|
||||||
# Todos os campos são opcionais no UPDATE
|
# Todos os campos são opcionais no UPDATE
|
||||||
ato_principal_id: Optional[int] = None
|
ato_principal_id: Optional[int] = None
|
||||||
arquivo_base64: Optional[str] = None
|
arquivo: Optional[str] = None
|
||||||
nome_documento: Optional[constr(max_length=255)] = None
|
nome_documento: Optional[constr(max_length=255)] = None
|
||||||
tipo_documento: Optional[constr(max_length=50)] = None
|
tipo_documento: Optional[constr(max_length=50)] = None
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue