계획: 주문 목록 페이지네이션
목표
기존 클라이언트가 받는 응답을 변경하지 않고 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 테이블이나, 파라미터가 전송되지 않았을 때의 응답을 변경하지 마십시오.