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
|
||||
|
||||
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,
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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 || [],
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user