feat(raw-data): adicionar visualização de dados brutos do ATUACAPES

- Novo endpoint GET /api/v1/consultor/{id}/raw para buscar documento completo do ES
- Novo componente RawDataModal com formatação inteligente de campos
- Botão de acesso rápido no ConsultorCard (ícone ⋮)
- Melhorias de estilo no Header e ConsultorCard
This commit is contained in:
Frederico Castro
2025-12-17 23:28:11 -03:00
parent 99ce6e30d8
commit c388509acb
11 changed files with 1186 additions and 21 deletions

View File

@@ -68,6 +68,33 @@ class ElasticsearchClient:
except Exception as e:
raise RuntimeError(f"Erro ao buscar consultor {id_pessoa}: {e}")
async def buscar_documento_completo(self, id_pessoa: int) -> Optional[dict]:
try:
query = {
"query": {"term": {"id": id_pessoa}},
"size": 1,
}
response = await self.client.post(
f"{self.url}/{self.index}/_search",
json=query
)
response.raise_for_status()
data = response.json()
hits = data.get("hits", {}).get("hits", [])
if hits:
hit = hits[0]
return {
"_index": hit.get("_index"),
"_id": hit.get("_id"),
"_score": hit.get("_score"),
"_source": hit.get("_source"),
}
return None
except Exception as e:
raise RuntimeError(f"Erro ao buscar documento completo {id_pessoa}: {e}")
async def buscar_com_atuacoes(self, size: int = 1000, from_: int = 0) -> list:
try:
query = {