План: пагинация списка заказов
Цель
Добавить курсорную пагинацию в GET /orders, не меняя то, что получают текущие клиенты.
Шаги
- В src/routes/orders.ts читайте limit и cursor из параметров запроса. Значение limit по умолчанию — 50, максимум — 200.
- В src/db/orders.ts добавьте listOrders({ limit, cursor }) с сортировкой по created_at, затем по id, которая также возвращает nextCursor.
- Если ни один параметр не передан, возвращайте полный список, как раньше. Иначе возвращайте { items, nextCursor }.
- Добавьте тесты в tests/orders.test.ts для первой страницы, следующей страницы и последней страницы.
Проверка
Запустите npm test -- orders. Затем дважды запросите /orders?limit=2, передав nextCursor во второй раз: должно вернуться четыре разных заказа без повторов.
Чего не делать
Не менять таблицу orders и ответ в случае, когда параметры не переданы.