Sprint 4: API Completa e Documentada
Implemente filtros, paginação, resumo, erros consistentes, CORS e Swagger.
Materiais: abra o repositório ou baixe o pacote da Sprint 4. Use o OpenAPI como fonte de verdade.
Esta sprint completa o contrato usado pelo front-end. Trate query parameters como entrada não confiável e valide-os antes de construir consultas.
Listagem
GET /transactions aceita page, limit, type, category, from e to. Todos os filtros se combinam com AND e sempre incluem o usuário autenticado. Ordene por occurredAt decrescente e use createdAt como desempate estável.
Faça a consulta da página e a contagem total sob os mesmos filtros. limit fica entre 1 e 100; página começa em 1. Intervalos com from > to respondem 400.
Resumo
GET /summary recebe o mesmo período e calcula, no banco:
incomeInCents;expenseInCents;balanceInCents;- despesas agrupadas por categoria.
Não derive o resumo apenas dos itens da página atual.
Fronteira profissional
- Ative CORS por lista explícita de origens vinda do ambiente.
- Gere Swagger a partir dos DTOs e compare o documento resultante ao OpenAPI oficial.
- Converta validação, conflito e ausência em códigos estáveis.
- Registre método, rota, status, duração e request id, sem senha ou token.
- Não devolva mensagens internas do Prisma.
Execute a coleção HTTP completa e abra o Swagger em uma instalação limpa. Compare com a API de referência somente depois que a suíte de contrato indicar quais comportamentos ainda divergem.