aboutsummaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-10-11 18:35:10 +0000
committerMohamed Bassem <me@mbassem.com>2025-10-11 18:35:10 +0000
commitf2dec26f30f3596d281db21fda5d4716cd1e853c (patch)
treee6bf9ba4dbc25586b7db784a915ab1f132e8edc8 /packages
parentd5780388bfadbfa3b3d475fd92377ab3b7fedf79 (diff)
downloadkarakeep-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.ts2
-rw-r--r--packages/open-api/karakeep-openapi-spec.json12
-rw-r--r--packages/open-api/lib/bookmarks.ts10
-rw-r--r--packages/sdk/src/karakeep-api.d.ts11
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;