aceleradora-TW / aceleradora-TW/e-acelera-front
[BUG]Corrigir busca de status do tópico retornando itemId null
- Dominant language
- TypeScript
- Stars
- 8
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
# Contexto
Durante a investigação do erro 401 no fluxo de status do tópico, foi identificado que o problema principal não está mais no backend, mas sim em uma inconsistência no frontend entre o hook de busca e a rota proxy.
- Atualmente, o hook envia apenas topicId, enquanto a rota proxy tenta ler também itemId, gerando chamadas incorretas como:
/status/{topicId}/item/null
- Porém, o backend espera o seguinte formato:
/status/{topicId}/topicId
Além disso, foi identificado que a tela realiza a mesma busca de status em dois componentes diferentes, causando requisições duplicadas.
## Objetivo
#### Corrigir o fluxo de busca de status no frontend para:
- remover chamadas duplicadas;
- alinhar o contrato entre hook e rota proxy;
#### garantir compatibilidade com o formato de resposta do backend;
- eliminar a montagem incorreta da URL com itemId = null.
# Critérios de Aceite
- Ajuste da rota proxy
Arquivo
src/app/api/backend/getTopicExercisesStatus/route.ts
#### Deve:
- remover a leitura de itemId;
- remover qualquer lógica relacionada a itemId;
#### alterar a chamada da API para:
- ${baseUrl}/status/${topicId}/topicId
- Remoção da busca duplicada
Arquivo
src/components/PageElements/Content/DetailingTopicContent/index.tsx
#### Deve remover:
- useFetchTopicStatus(id)
- useEffect responsável pela chamada duplicada
#### Deve manter somente a busca existente em:
src/components/PageElements/Renders/RenderDetailingTopicPage/index.tsx
- Compatibilidade da resposta
- Garantir compatibilidade entre:
- Resposta do backend
[
{
"itemId": "string",
"itemStatus": "string",
"elementType": "string"
}
]
Formato esperado no frontend
{
"status": []
}
# Notas Técnicas
- O problema de autorização (401) anteriormente investigado já foi resolvido no backend após sincronização das migrations.
- O problema atual está concentrado exclusivamente no frontend.
- O PR anterior do backend (#76) pode ser desconsiderado/fechado.
- Validar se a tipagem utilizada pelo hook continua compatível após a remoção de itemId.
- Garantir que apenas uma requisição de status seja disparada ao carregar a tela.
- Validar no Network do navegador que a URL final não contém mais /item/null.
## Resultado Esperado
#### Após a correção:
- a tela deve realizar apenas uma chamada de status;
- a URL deve seguir o formato correto esperado pelo backend;
- o status deve ser carregado corretamente sem null na rota;
- o frontend deve consumir a resposta sem necessidade de adaptações adicionais no backend.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.