diff --git a/backend/src/interface/api/routes.py b/backend/src/interface/api/routes.py index 5d4bc97..5608463 100644 --- a/backend/src/interface/api/routes.py +++ b/backend/src/interface/api/routes.py @@ -102,9 +102,7 @@ async def ranking_paginado( total_pages = (total + size - 1) // size - consultores_schema = [ - _consultor_resumo_from_ranking(c) for c in consultores - ] + consultores_schema = [_consultor_resumo_from_ranking(c) for c in consultores] return RankingPaginadoResponseSchema( total=total, @@ -117,9 +115,16 @@ async def ranking_paginado( def _consultor_resumo_from_ranking(c): consultoria = None + coordenacoes_capes = None + coordenacoes_programas = None + premiacoes = None try: jd = json.loads(c.json_detalhes) if c.json_detalhes else {} - consultoria = jd.get("consultoria") if isinstance(jd, dict) else None + if isinstance(jd, dict): + consultoria = jd.get("consultoria") + coordenacoes_capes = jd.get("coordenacoes_capes") + coordenacoes_programas = jd.get("coordenacoes_programas") + premiacoes = jd.get("premiacoes") except Exception: consultoria = None @@ -135,6 +140,9 @@ def _consultor_resumo_from_ranking(c): ativo=c.ativo, anos_atuacao=c.anos_atuacao, consultoria=consultoria, + coordenacoes_capes=coordenacoes_capes, + coordenacoes_programas=coordenacoes_programas, + premiacoes=premiacoes, ) diff --git a/backend/src/interface/schemas/ranking_schema.py b/backend/src/interface/schemas/ranking_schema.py index a2b72f8..6ad1892 100644 --- a/backend/src/interface/schemas/ranking_schema.py +++ b/backend/src/interface/schemas/ranking_schema.py @@ -15,6 +15,9 @@ class ConsultorRankingResumoSchema(BaseModel): ativo: bool anos_atuacao: float consultoria: Optional[dict] = None + coordenacoes_capes: Optional[list] = None + coordenacoes_programas: Optional[list] = None + premiacoes: Optional[list] = None class RankingPaginadoResponseSchema(BaseModel): diff --git a/frontend/src/services/api.js b/frontend/src/services/api.js index 183e916..a89c109 100644 --- a/frontend/src/services/api.js +++ b/frontend/src/services/api.js @@ -55,9 +55,9 @@ export const rankingService = { primeiro_evento: consultoria.primeiro_evento || primeiroEvento.toISOString(), ultimo_evento: consultoria.ultimo_evento || null, }, - coordenacoes_capes: [], - coordenacoes_programas: [], - premiacoes: [], + coordenacoes_capes: c.coordenacoes_capes || [], + coordenacoes_programas: c.coordenacoes_programas || [], + premiacoes: c.premiacoes || [], }; });