From 17a4453b336a3693a4e2b55eced2d8a4a0cf1bd5 Mon Sep 17 00:00:00 2001 From: Roscoe Rubin-Rottenberg Date: Thu, 8 Jan 2026 11:20:18 -0500 Subject: [PATCH] feat(lexicon): add getActorReposts --- lex/index.ts | 13 +++++ lex/lexicons.ts | 61 ++++++++++++++++++++++ lex/types/so/sprk/feed/getActorReposts.ts | 32 ++++++++++++ lexicons/so/sprk/feed/getActorReposts.json | 42 +++++++++++++++ 4 files changed, 148 insertions(+) create mode 100644 lex/types/so/sprk/feed/getActorReposts.ts create mode 100644 lexicons/so/sprk/feed/getActorReposts.json diff --git a/lex/index.ts b/lex/index.ts index e218ee3..d879d6f 100644 --- a/lex/index.ts +++ b/lex/index.ts @@ -202,6 +202,7 @@ import type * as SoSprkFeedGetFeed from "./types/so/sprk/feed/getFeed.ts"; import type * as SoSprkFeedGetFeedSkeleton from "./types/so/sprk/feed/getFeedSkeleton.ts"; import type * as SoSprkFeedGetSuggestedFeeds from "./types/so/sprk/feed/getSuggestedFeeds.ts"; import type * as SoSprkFeedGetActorFeeds from "./types/so/sprk/feed/getActorFeeds.ts"; +import type * as SoSprkFeedGetActorReposts from "./types/so/sprk/feed/getActorReposts.ts"; import type * as SoSprkSoundGetActorAudios from "./types/so/sprk/sound/getActorAudios.ts"; import type * as SoSprkSoundGetAudioPosts from "./types/so/sprk/sound/getAudioPosts.ts"; import type * as SoSprkSoundGetAudios from "./types/so/sprk/sound/getAudios.ts"; @@ -3113,6 +3114,18 @@ export class SoSprkFeedNS { const nsid = "so.sprk.feed.getActorFeeds"; // @ts-ignore - dynamically generated return this._server.xrpc.method(nsid, cfg); } + + getActorReposts( + cfg: MethodConfigOrHandler< + A, + SoSprkFeedGetActorReposts.QueryParams, + SoSprkFeedGetActorReposts.HandlerInput, + SoSprkFeedGetActorReposts.HandlerOutput + >, + ) { + const nsid = "so.sprk.feed.getActorReposts"; // @ts-ignore - dynamically generated + return this._server.xrpc.method(nsid, cfg); + } } export class SoSprkRichtextNS { diff --git a/lex/lexicons.ts b/lex/lexicons.ts index e98aef6..89d6992 100644 --- a/lex/lexicons.ts +++ b/lex/lexicons.ts @@ -19170,6 +19170,66 @@ export const schemaDict = { }, }, }, + "SoSprkFeedGetActorReposts": { + "lexicon": 1, + "id": "so.sprk.feed.getActorReposts", + "defs": { + "main": { + "type": "query", + "description": "Get a list of posts reposted by an actor.", + "parameters": { + "type": "params", + "required": [ + "actor", + ], + "properties": { + "actor": { + "type": "string", + "format": "at-identifier", + }, + "limit": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 50, + }, + "cursor": { + "type": "string", + }, + }, + }, + "output": { + "encoding": "application/json", + "schema": { + "type": "object", + "required": [ + "feed", + ], + "properties": { + "cursor": { + "type": "string", + }, + "feed": { + "type": "array", + "items": { + "type": "ref", + "ref": "lex:so.sprk.feed.defs#feedViewPost", + }, + }, + }, + }, + }, + "errors": [ + { + "name": "BlockedActor", + }, + { + "name": "BlockedByActor", + }, + ], + }, + }, + }, "SoSprkRichtextFacet": { "lexicon": 1, "id": "so.sprk.richtext.facet", @@ -26766,6 +26826,7 @@ export const ids = { SoSprkFeedGetSuggestedFeeds: "so.sprk.feed.getSuggestedFeeds", SoSprkFeedGetActorFeeds: "so.sprk.feed.getActorFeeds", SoSprkFeedPost: "so.sprk.feed.post", + SoSprkFeedGetActorReposts: "so.sprk.feed.getActorReposts", SoSprkRichtextFacet: "so.sprk.richtext.facet", SoSprkSoundDefs: "so.sprk.sound.defs", SoSprkSoundGetActorAudios: "so.sprk.sound.getActorAudios", diff --git a/lex/types/so/sprk/feed/getActorReposts.ts b/lex/types/so/sprk/feed/getActorReposts.ts new file mode 100644 index 0000000..68606bb --- /dev/null +++ b/lex/types/so/sprk/feed/getActorReposts.ts @@ -0,0 +1,32 @@ +/** + * GENERATED CODE - DO NOT MODIFY + */ +import type * as SoSprkFeedDefs from "./defs.ts"; + +export type QueryParams = { + actor: string; + limit: number; + cursor?: string; +}; +export type InputSchema = undefined; + +export interface OutputSchema { + cursor?: string; + feed: (SoSprkFeedDefs.FeedViewPost)[]; +} + +export type HandlerInput = void; + +export interface HandlerSuccess { + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; +} + +export interface HandlerError { + status: number; + message?: string; + error?: "BlockedActor" | "BlockedByActor"; +} + +export type HandlerOutput = HandlerError | HandlerSuccess; diff --git a/lexicons/so/sprk/feed/getActorReposts.json b/lexicons/so/sprk/feed/getActorReposts.json new file mode 100644 index 0000000..c9d0f3b --- /dev/null +++ b/lexicons/so/sprk/feed/getActorReposts.json @@ -0,0 +1,42 @@ +{ + "lexicon": 1, + "id": "so.sprk.feed.getActorReposts", + "defs": { + "main": { + "type": "query", + "description": "Get a list of posts reposted by an actor.", + "parameters": { + "type": "params", + "required": ["actor"], + "properties": { + "actor": { "type": "string", "format": "at-identifier" }, + "limit": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 50 + }, + "cursor": { "type": "string" } + } + }, + "output": { + "encoding": "application/json", + "schema": { + "type": "object", + "required": ["feed"], + "properties": { + "cursor": { "type": "string" }, + "feed": { + "type": "array", + "items": { + "type": "ref", + "ref": "so.sprk.feed.defs#feedViewPost" + } + } + } + } + }, + "errors": [{ "name": "BlockedActor" }, { "name": "BlockedByActor" }] + } + } +} -- 2.54.0