From d0d26dc4c8d5ce05514ca1dbdf687ac7da364c03 Mon Sep 17 00:00:00 2001 From: Kenio de Souza Date: Mon, 8 Dec 2025 20:11:23 -0300 Subject: [PATCH] Debug --- .../services/log/log_show_database_service.py | 32 +++++++++++++------ 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/packages/v1/administrativo/services/log/log_show_database_service.py b/packages/v1/administrativo/services/log/log_show_database_service.py index 62404c4..128341d 100644 --- a/packages/v1/administrativo/services/log/log_show_database_service.py +++ b/packages/v1/administrativo/services/log/log_show_database_service.py @@ -136,31 +136,45 @@ class ShowDatabaseService: if dados_json and dados_json.get("file"): + # 1. Carrega o JSON do campo 'file' (log do cliente) dados_json = json.loads(dados_json["file"]) # --- 1. Extração de Estruturas e Metadata --- - standard_structure_data: Dict[str, Any] = dados_json.get("standard_structure_json", {}) - - print(standard_structure_data) + + # O Repository retorna a estrutura padrão como uma STRING JSON. + standard_structure_json_string = dados_json.get("standard_structure_json") + standard_structure_data: Dict[str, Any] = {} + + # **CORREÇÃO AQUI:** Tenta carregar a STRING JSON em um Dicionário. + if standard_structure_json_string: + try: + standard_structure_data = json.loads(standard_structure_json_string) + except json.JSONDecodeError: + # Se houver erro de parsing, mantém standard_structure_data como {} + pass + + # REMOVIDA LINHA DE PRINT DE DEBUG (print(standard_structure_data)) database_data = dados_json.get("database", {}) client_structure: Dict[str, Any] = database_data.get("structure", {}) partition_info = database_data.get("partition", {}) + # ... (continua com a extração dos metadados) file_size_mb = database_data.get("file_size_mb", None) db_accessible = database_data.get("db_accessible", None) last_modified = database_data.get("last_modified", None) # --- 2. Normalização e Comparação --- + # ... (o restante do código é mantido, usando standard_structure_data) # Normaliza as chaves para UPPERCASE em ambas as estruturas - standard_structure_data = _normalize_keys_to_upper(standard_structure_data) - client_structure = _normalize_keys_to_upper(client_structure) + standard_structure_data_normalized = _normalize_keys_to_upper(standard_structure_data) + client_structure_normalized = _normalize_keys_to_upper(client_structure) # Encontra elementos exclusivos do padrão (Padrão - Cliente) inconsistencies_data = find_standard_only_elements( - standard_structure_data, - client_structure + standard_structure_data_normalized, + client_structure_normalized ) # --- 3. Monta o JSON final --- @@ -176,8 +190,8 @@ class ShowDatabaseService: "last_modified": last_modified, # NOVO CAMPO: Retorna o que falta no cliente "inconsistencies": inconsistencies_data, - "standard_structure_data": standard_structure_data, - # "client_structure": client_structure + # Agora, standard_structure_data contém a ESTRUTURA PADRÃO parseada + "standard_structure_data": standard_structure_data_normalized, } }