Inclui detalhes de coordenacoes e premiações no ranking paginado
This commit is contained in:
@@ -102,9 +102,7 @@ async def ranking_paginado(
|
|||||||
|
|
||||||
total_pages = (total + size - 1) // size
|
total_pages = (total + size - 1) // size
|
||||||
|
|
||||||
consultores_schema = [
|
consultores_schema = [_consultor_resumo_from_ranking(c) for c in consultores]
|
||||||
_consultor_resumo_from_ranking(c) for c in consultores
|
|
||||||
]
|
|
||||||
|
|
||||||
return RankingPaginadoResponseSchema(
|
return RankingPaginadoResponseSchema(
|
||||||
total=total,
|
total=total,
|
||||||
@@ -117,9 +115,16 @@ async def ranking_paginado(
|
|||||||
|
|
||||||
def _consultor_resumo_from_ranking(c):
|
def _consultor_resumo_from_ranking(c):
|
||||||
consultoria = None
|
consultoria = None
|
||||||
|
coordenacoes_capes = None
|
||||||
|
coordenacoes_programas = None
|
||||||
|
premiacoes = None
|
||||||
try:
|
try:
|
||||||
jd = json.loads(c.json_detalhes) if c.json_detalhes else {}
|
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:
|
except Exception:
|
||||||
consultoria = None
|
consultoria = None
|
||||||
|
|
||||||
@@ -135,6 +140,9 @@ def _consultor_resumo_from_ranking(c):
|
|||||||
ativo=c.ativo,
|
ativo=c.ativo,
|
||||||
anos_atuacao=c.anos_atuacao,
|
anos_atuacao=c.anos_atuacao,
|
||||||
consultoria=consultoria,
|
consultoria=consultoria,
|
||||||
|
coordenacoes_capes=coordenacoes_capes,
|
||||||
|
coordenacoes_programas=coordenacoes_programas,
|
||||||
|
premiacoes=premiacoes,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,9 @@ class ConsultorRankingResumoSchema(BaseModel):
|
|||||||
ativo: bool
|
ativo: bool
|
||||||
anos_atuacao: float
|
anos_atuacao: float
|
||||||
consultoria: Optional[dict] = None
|
consultoria: Optional[dict] = None
|
||||||
|
coordenacoes_capes: Optional[list] = None
|
||||||
|
coordenacoes_programas: Optional[list] = None
|
||||||
|
premiacoes: Optional[list] = None
|
||||||
|
|
||||||
|
|
||||||
class RankingPaginadoResponseSchema(BaseModel):
|
class RankingPaginadoResponseSchema(BaseModel):
|
||||||
|
|||||||
@@ -55,9 +55,9 @@ export const rankingService = {
|
|||||||
primeiro_evento: consultoria.primeiro_evento || primeiroEvento.toISOString(),
|
primeiro_evento: consultoria.primeiro_evento || primeiroEvento.toISOString(),
|
||||||
ultimo_evento: consultoria.ultimo_evento || null,
|
ultimo_evento: consultoria.ultimo_evento || null,
|
||||||
},
|
},
|
||||||
coordenacoes_capes: [],
|
coordenacoes_capes: c.coordenacoes_capes || [],
|
||||||
coordenacoes_programas: [],
|
coordenacoes_programas: c.coordenacoes_programas || [],
|
||||||
premiacoes: [],
|
premiacoes: c.premiacoes || [],
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user