From c2fbd68e840ba73da36c9c62fd7fa0521bf19a85 Mon Sep 17 00:00:00 2001 From: Niels Mokkenstorm Date: Thu, 16 Jul 2026 21:38:11 +0200 Subject: [PATCH] feat(lexicons): add getPublicShelf and getPublicEntry queries --- .../dev/mokkenstorm/crate/shelf/getPublicEntry.sdl | 12 ++++++++++++ .../dev/mokkenstorm/crate/shelf/getPublicShelf.sdl | 9 +++++++++ 2 files changed, 21 insertions(+) create mode 100644 lexicons/dev/mokkenstorm/crate/shelf/getPublicEntry.sdl create mode 100644 lexicons/dev/mokkenstorm/crate/shelf/getPublicShelf.sdl diff --git a/lexicons/dev/mokkenstorm/crate/shelf/getPublicEntry.sdl b/lexicons/dev/mokkenstorm/crate/shelf/getPublicEntry.sdl new file mode 100644 index 0000000..062e4ce --- /dev/null +++ b/lexicons/dev/mokkenstorm/crate/shelf/getPublicEntry.sdl @@ -0,0 +1,12 @@ +/// One entry off any actor's crate, folded, plus its resolved release +/// fields; no auth required, mirroring getPublicShelf. The whole record is +/// public network data, so nothing here is narrower than getEntry's own +/// fields beyond dropping the raw per-event timeline. +query getPublicEntry(actor: AtIdentifier! @description("Handle or DID of the crate's owner."), entryId: String! @description("The entry's genesis TID.")) @main + : { + did: Did! + handle: Handle! + entry: dev.mokkenstorm.crate.shelf.listEntries#entry! + /// Display fields from the resolved catalog release, omitted when unresolvable. + release: dev.mokkenstorm.crate.shelf.getEntry#releaseInfo + } diff --git a/lexicons/dev/mokkenstorm/crate/shelf/getPublicShelf.sdl b/lexicons/dev/mokkenstorm/crate/shelf/getPublicShelf.sdl new file mode 100644 index 0000000..bf9d701 --- /dev/null +++ b/lexicons/dev/mokkenstorm/crate/shelf/getPublicShelf.sdl @@ -0,0 +1,9 @@ +/// The folded crate for any actor, with no auth required: shelf records live +/// in the owner's own PDS and are public network data, so this reads them +/// straight off the actor's repo instead of the caller's session. +query getPublicShelf(actor: AtIdentifier! @description("Handle or DID of the crate's owner.")) @main + : { + did: Did! + handle: Handle! + items: [dev.mokkenstorm.crate.shelf.listEntries#entry]! + } -- 2.51.2