Plano: paginar a lista de encomendas
Objetivo
Adicionar paginação por cursor a GET /orders sem alterar o que os clientes atuais recebem.
Passos
- Em src/routes/orders.ts, ler limit e cursor da query. O limite predefinido é 50 e o máximo permitido é 200.
- Em src/db/orders.ts, adicionar listOrders({ limit, cursor }), ordenado por created_at e depois por id, que também devolve nextCursor.
- Quando nenhum parâmetro for enviado, devolver a lista completa como antes. Caso contrário, devolver { items, nextCursor }.
- Adicionar testes em tests/orders.test.ts para a primeira página, a página seguinte e a última página.
Verificar
Executar npm test -- orders. Depois, pedir /orders?limit=2 duas vezes, passando nextCursor na segunda vez: quatro encomendas diferentes, nenhuma repetida.
Não fazer
Alterar a tabela de encomendas ou a resposta quando não são enviados parâmetros.