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:
@@ -48,6 +48,10 @@ def get_oracle_client() -> OracleClient:
|
||||
return oracle_client
|
||||
|
||||
|
||||
def get_es_client() -> ElasticsearchClient:
|
||||
return es_client
|
||||
|
||||
|
||||
def get_ranking_oracle_repo() -> RankingOracleRepository:
|
||||
return ranking_oracle_repo
|
||||
|
||||
|
||||
@@ -21,7 +21,8 @@ from ..schemas.ranking_schema import (
|
||||
ProcessarRankingResponseSchema,
|
||||
ConsultaNomeSchema,
|
||||
)
|
||||
from .dependencies import get_repository, get_ranking_store, get_processar_job
|
||||
from .dependencies import get_repository, get_ranking_store, get_processar_job, get_es_client
|
||||
from ...infrastructure.elasticsearch.client import ElasticsearchClient
|
||||
from ...application.jobs.job_status import job_status
|
||||
|
||||
router = APIRouter(prefix="/api/v1", tags=["ranking"])
|
||||
@@ -305,3 +306,17 @@ async def processar_ranking(
|
||||
mensagem="Processamento do ranking iniciado em background",
|
||||
job_id="ranking_job"
|
||||
)
|
||||
|
||||
|
||||
@router.get("/consultor/{id_pessoa}/raw")
|
||||
async def obter_consultor_raw(
|
||||
id_pessoa: int,
|
||||
es_client: ElasticsearchClient = Depends(get_es_client),
|
||||
):
|
||||
try:
|
||||
documento = await es_client.buscar_documento_completo(id_pessoa)
|
||||
if not documento:
|
||||
raise HTTPException(status_code=404, detail=f"Consultor {id_pessoa} não encontrado no Elasticsearch")
|
||||
return documento
|
||||
except RuntimeError as e:
|
||||
raise HTTPException(status_code=500, detail=str(e))
|
||||
|
||||
Reference in New Issue
Block a user