diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-10-11 18:35:10 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2025-10-11 18:35:10 +0000 |
| commit | f2dec26f30f3596d281db21fda5d4716cd1e853c (patch) | |
| tree | e6bf9ba4dbc25586b7db784a915ab1f132e8edc8 /packages | |
| parent | d5780388bfadbfa3b3d475fd92377ab3b7fedf79 (diff) | |
| download | karakeep-f2dec26f30f3596d281db21fda5d4716cd1e853c.tar.zst | |
fix(api): Return 200 when bookmark already exists instead of 200
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/api/routes/bookmarks.ts | 2 | ||||
| -rw-r--r-- | packages/open-api/karakeep-openapi-spec.json | 12 | ||||
| -rw-r--r-- | packages/open-api/lib/bookmarks.ts | 10 | ||||
| -rw-r--r-- | packages/sdk/src/karakeep-api.d.ts | 11 |
4 files changed, 31 insertions, 4 deletions
diff --git a/packages/api/routes/bookmarks.ts b/packages/api/routes/bookmarks.ts index abf0daae..bc31ba82 100644 --- a/packages/api/routes/bookmarks.ts +++ b/packages/api/routes/bookmarks.ts @@ -47,7 +47,7 @@ const app = new Hono() .post("/", zValidator("json", zNewBookmarkRequestSchema), async (c) => { const body = c.req.valid("json"); const bookmark = await c.var.api.bookmarks.createBookmark(body); - return c.json(bookmark, 201); + return c.json(bookmark, bookmark.alreadyExists ? 200 : 201); }) // GET /bookmarks/search diff --git a/packages/open-api/karakeep-openapi-spec.json b/packages/open-api/karakeep-openapi-spec.json index 9132a4d9..21dda7bc 100644 --- a/packages/open-api/karakeep-openapi-spec.json +++ b/packages/open-api/karakeep-openapi-spec.json @@ -784,8 +784,18 @@ } }, "responses": { + "200": { + "description": "The bookmark already exists", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Bookmark" + } + } + } + }, "201": { - "description": "The created bookmark", + "description": "The bookmark got created", "content": { "application/json": { "schema": { diff --git a/packages/open-api/lib/bookmarks.ts b/packages/open-api/lib/bookmarks.ts index b2159570..d49a20ff 100644 --- a/packages/open-api/lib/bookmarks.ts +++ b/packages/open-api/lib/bookmarks.ts @@ -117,8 +117,16 @@ registry.registerPath({ }, }, responses: { + 200: { + description: "The bookmark already exists", + content: { + "application/json": { + schema: BookmarkSchema, + }, + }, + }, 201: { - description: "The created bookmark", + description: "The bookmark got created", content: { "application/json": { schema: BookmarkSchema, diff --git a/packages/sdk/src/karakeep-api.d.ts b/packages/sdk/src/karakeep-api.d.ts index d376eb1b..7960e982 100644 --- a/packages/sdk/src/karakeep-api.d.ts +++ b/packages/sdk/src/karakeep-api.d.ts @@ -95,7 +95,16 @@ export interface paths { }; }; responses: { - /** @description The created bookmark */ + /** @description The bookmark already exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Bookmark"]; + }; + }; + /** @description The bookmark got created */ 201: { headers: { [name: string]: unknown; |
