Overview
List endpoints across modules use differing (or no) pagination conventions. Unbounded lists will eventually time out, and the frontend has to special-case each endpoint.
Tasks
Acceptance Criteria
Notes for Contributors
Comment below to be assigned.
Overview
List endpoints across modules use differing (or no) pagination conventions. Unbounded lists will eventually time out, and the frontend has to special-case each endpoint.
Tasks
PaginationQueryDto(page,limitwith a hard max,sortBy,sortOrder) incommon/.PaginatedResponse<T>—{ data, meta: { page, limit, total, totalPages, hasNext, hasPrev } }.@ApiOkResponsegeneric schemas so Swagger renders the wrapper correctly.frontend/lib/apiClient.tsand callers to the shared shape.Acceptance Criteria
?page=&limit=and returns the standard envelope.limit=100000is clamped, not honoured.Notes for Contributors
Comment below to be assigned.