From 0102a2ba8ccc0f070de3e100118cbad0b0770385 Mon Sep 17 00:00:00 2001 From: Kenio de Souza Date: Tue, 4 Nov 2025 15:43:10 -0300 Subject: [PATCH] fix(): Ajuste na listagem de ato_principal - Aplicando descriptografia nos dados --- .../ato_principal_index_repository.py | 26 +++---------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/packages/v1/administrativo/repositories/ato_principal/ato_principal_index_repository.py b/packages/v1/administrativo/repositories/ato_principal/ato_principal_index_repository.py index f296c76..9472b66 100644 --- a/packages/v1/administrativo/repositories/ato_principal/ato_principal_index_repository.py +++ b/packages/v1/administrativo/repositories/ato_principal/ato_principal_index_repository.py @@ -15,7 +15,7 @@ class IndexRepository: # Cria a sessão dentro do repositório db = SessionLocal() try: - # Executa a query com descriptografia de campos sensíveis + # Executa a query result = db.query( AtoPrincipal.ato_principal_id, AtoPrincipal.origem_ato_principal_id, @@ -44,28 +44,8 @@ class IndexRepository: AtoPrincipal.updated_at, ).all() - # Lista final com conversão segura - data = [] - for obj in result: - # Transforma a Row em dicionário mutável - row = dict(obj._mapping) - - # Decodifica os campos criptografados (se não forem None) - for field in [ - "nome_civil_ato", - "nome_serventuario_praticou_ato", - "inteiro_teor", - ]: - value = row.get(field) - if isinstance(value, (bytes, bytearray)): - try: - row[field] = value.decode("utf-8") - except UnicodeDecodeError: - # Evita quebrar se o conteúdo não for UTF-8 válido - row[field] = None - - # Valida via schema Pydantic - data.append(AtoPrincipalSchema.model_validate(row)) + # Converte os models SQLAlchemy em schemas Pydantic + data = [AtoPrincipalSchema.model_validate(obj) for obj in result] return data