From d87073bfd6c6577140fdd1968aaca3cb2a182b4e Mon Sep 17 00:00:00 2001 From: Niels Mokkenstorm Date: Thu, 16 Jul 2026 21:38:13 +0200 Subject: [PATCH] feat(lexicons): add cursor pagination params to listEntries and listEditProposals --- .../dev/mokkenstorm/crate/catalog/listEditProposals.sdl | 7 +++++-- lexicons/dev/mokkenstorm/crate/shelf/listEntries.sdl | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lexicons/dev/mokkenstorm/crate/catalog/listEditProposals.sdl b/lexicons/dev/mokkenstorm/crate/catalog/listEditProposals.sdl index d2c2bb3..fbba85f 100644 --- a/lexicons/dev/mokkenstorm/crate/catalog/listEditProposals.sdl +++ b/lexicons/dev/mokkenstorm/crate/catalog/listEditProposals.sdl @@ -1,6 +1,9 @@ /// Edit proposals filed against the caller's own current catalog releases: the inbox for reviewing and applying corrections others have proposed. -query listEditProposals() @main - : { proposals: [proposalRow]! } +query listEditProposals(cursor: String @description("Opaque pagination token from a previous response's cursor field; an unrecognized or stale cursor restarts from the top."), limit: Int @description("Max proposals to return, capped at 100. Omitted together with cursor, returns the full list (pre-pagination behavior).")) @main + : { + cursor: String @description("Opaque token for the next page; absent when there are no more proposals.") + proposals: [proposalRow]! + } /// One catalog.edit proposal against one of the caller's own releases, with enough of the current release to render a diff. type proposalRow { diff --git a/lexicons/dev/mokkenstorm/crate/shelf/listEntries.sdl b/lexicons/dev/mokkenstorm/crate/shelf/listEntries.sdl index ab4d793..081f0fb 100644 --- a/lexicons/dev/mokkenstorm/crate/shelf/listEntries.sdl +++ b/lexicons/dev/mokkenstorm/crate/shelf/listEntries.sdl @@ -16,8 +16,9 @@ type entry { } /// The caller's folded crate for a view, one row per entry. -query listEntries(view: String @description("Which slice of the crate to fold; defaults to owned.") @known("owned", "wanted", "all", "history")) @main +query listEntries(cursor: String @description("Opaque pagination token from a previous response's cursor field; an unrecognized or stale cursor restarts from the top."), limit: Int @description("Max entries to return, capped at 100. Omitted together with cursor, returns the full view (pre-pagination behavior)."), view: String @description("Which slice of the crate to fold; defaults to owned.") @known("owned", "wanted", "all", "history")) @main : { + cursor: String @description("Opaque token for the next page; absent when there are no more entries.") handle: Handle! items: [entry]! /// Map of entryId to the @handle of the foreign publisher an adopted release came from. -- 2.51.2