From 9fb80514773d63115a5b41787b339670326bb763 Mon Sep 17 00:00:00 2001 From: erik-nilcoast <138068205+erik-nilcoast@users.noreply.github.com> Date: Sun, 9 Mar 2025 10:18:46 -0500 Subject: feat: Expose bookmark summarization in the API (#1088) Proxy to the TRPC Summarize mutation for use in the public API --- packages/open-api/hoarder-openapi-spec.json | 79 +++++++++++++++++++++++++++++ packages/open-api/lib/bookmarks.ts | 23 +++++++++ 2 files changed, 102 insertions(+) (limited to 'packages/open-api') diff --git a/packages/open-api/hoarder-openapi-spec.json b/packages/open-api/hoarder-openapi-spec.json index 3af444b8..c33d0621 100644 --- a/packages/open-api/hoarder-openapi-spec.json +++ b/packages/open-api/hoarder-openapi-spec.json @@ -913,6 +913,85 @@ } } }, + "/bookmarks/{bookmarkId}/summarize": { + "post": { + "description": "Attaches a summary to the bookmark and returns the updated record.", + "summary": "Summarize a bookmark", + "tags": [ + "Bookmarks" + ], + "security": [ + { + "bearerAuth": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/BookmarkId" + } + ], + "responses": { + "200": { + "description": "The updated bookmark with summary", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "modifiedAt": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string", + "nullable": true, + "maxLength": 250 + }, + "archived": { + "type": "boolean" + }, + "favourited": { + "type": "boolean" + }, + "taggingStatus": { + "type": "string", + "nullable": true, + "enum": [ + "success", + "failure", + "pending" + ] + }, + "note": { + "type": "string", + "nullable": true + }, + "summary": { + "type": "string", + "nullable": true + } + }, + "required": [ + "id", + "createdAt", + "modifiedAt", + "archived", + "favourited", + "taggingStatus" + ] + } + } + } + } + } + } + }, "/bookmarks/{bookmarkId}/tags": { "post": { "description": "Attach tags to a bookmark", diff --git a/packages/open-api/lib/bookmarks.ts b/packages/open-api/lib/bookmarks.ts index c7c05256..a1ab1353 100644 --- a/packages/open-api/lib/bookmarks.ts +++ b/packages/open-api/lib/bookmarks.ts @@ -197,6 +197,29 @@ registry.registerPath({ }, }); +registry.registerPath({ + method: "post", + path: "/bookmarks/{bookmarkId}/summarize", + description: + "Attaches a summary to the bookmark and returns the updated record.", + summary: "Summarize a bookmark", + tags: ["Bookmarks"], + security: [{ [BearerAuth.name]: [] }], + request: { + params: z.object({ bookmarkId: BookmarkIdSchema }), + }, + responses: { + 200: { + description: "The updated bookmark with summary", + content: { + "application/json": { + schema: zBareBookmarkSchema, + }, + }, + }, + }, +}); + registry.registerPath({ method: "post", path: "/bookmarks/{bookmarkId}/tags", -- cgit v1.2.3-70-g09d2