diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-04-13 18:29:14 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2025-04-13 18:29:14 +0000 |
| commit | 5bdb2d944a08f63772497e203f47533ffb640d82 (patch) | |
| tree | f8e77b3d6c4820dac4942724bf662a7ff57bfc15 /apps/web/app/api/v1 | |
| parent | 1373a7b21d7b04f0fe5ea2a008c88b6a85665fe0 (diff) | |
| download | karakeep-5bdb2d944a08f63772497e203f47533ffb640d82.tar.zst | |
fix: Dont download html content by default in the bookmark grid. Fixes #1198
Diffstat (limited to 'apps/web/app/api/v1')
| -rw-r--r-- | apps/web/app/api/v1/bookmarks/[bookmarkId]/route.ts | 6 | ||||
| -rw-r--r-- | apps/web/app/api/v1/bookmarks/route.ts | 2 | ||||
| -rw-r--r-- | apps/web/app/api/v1/lists/[listId]/bookmarks/route.ts | 3 | ||||
| -rw-r--r-- | apps/web/app/api/v1/tags/[tagId]/bookmarks/route.ts | 3 | ||||
| -rw-r--r-- | apps/web/app/api/v1/utils/types.ts | 5 |
5 files changed, 16 insertions, 3 deletions
diff --git a/apps/web/app/api/v1/bookmarks/[bookmarkId]/route.ts b/apps/web/app/api/v1/bookmarks/[bookmarkId]/route.ts index db78f17c..fa551894 100644 --- a/apps/web/app/api/v1/bookmarks/[bookmarkId]/route.ts +++ b/apps/web/app/api/v1/bookmarks/[bookmarkId]/route.ts @@ -3,6 +3,8 @@ import { buildHandler } from "@/app/api/v1/utils/handler"; import { zUpdateBookmarksRequestSchema } from "@karakeep/shared/types/bookmarks"; +import { zGetBookmarkSearchParamsSchema } from "../../utils/types"; + export const dynamic = "force-dynamic"; export const GET = ( @@ -11,9 +13,11 @@ export const GET = ( ) => buildHandler({ req, - handler: async ({ api }) => { + searchParamsSchema: zGetBookmarkSearchParamsSchema, + handler: async ({ api, searchParams }) => { const bookmark = await api.bookmarks.getBookmark({ bookmarkId: params.bookmarkId, + includeContent: searchParams.includeContent, }); return { status: 200, resp: bookmark }; }, diff --git a/apps/web/app/api/v1/bookmarks/route.ts b/apps/web/app/api/v1/bookmarks/route.ts index 7b6954c6..1605d2b5 100644 --- a/apps/web/app/api/v1/bookmarks/route.ts +++ b/apps/web/app/api/v1/bookmarks/route.ts @@ -16,6 +16,8 @@ export const GET = (req: NextRequest) => .object({ favourited: zStringBool.optional(), archived: zStringBool.optional(), + // TODO: Change the default to false in a couple of releases. + includeContent: zStringBool.optional().default("true"), }) .and(zPagination), handler: async ({ api, searchParams }) => { diff --git a/apps/web/app/api/v1/lists/[listId]/bookmarks/route.ts b/apps/web/app/api/v1/lists/[listId]/bookmarks/route.ts index 72d4aa5f..3977413a 100644 --- a/apps/web/app/api/v1/lists/[listId]/bookmarks/route.ts +++ b/apps/web/app/api/v1/lists/[listId]/bookmarks/route.ts @@ -1,13 +1,14 @@ import { NextRequest } from "next/server"; import { buildHandler } from "@/app/api/v1/utils/handler"; import { adaptPagination, zPagination } from "@/app/api/v1/utils/pagination"; +import { zGetBookmarkSearchParamsSchema } from "@/app/api/v1/utils/types"; export const dynamic = "force-dynamic"; export const GET = (req: NextRequest, params: { params: { listId: string } }) => buildHandler({ req, - searchParamsSchema: zPagination, + searchParamsSchema: zPagination.and(zGetBookmarkSearchParamsSchema), handler: async ({ api, searchParams }) => { const bookmarks = await api.bookmarks.getBookmarks({ listId: params.params.listId, diff --git a/apps/web/app/api/v1/tags/[tagId]/bookmarks/route.ts b/apps/web/app/api/v1/tags/[tagId]/bookmarks/route.ts index 98133ec7..cfc0af51 100644 --- a/apps/web/app/api/v1/tags/[tagId]/bookmarks/route.ts +++ b/apps/web/app/api/v1/tags/[tagId]/bookmarks/route.ts @@ -1,6 +1,7 @@ import { NextRequest } from "next/server"; import { buildHandler } from "@/app/api/v1/utils/handler"; import { adaptPagination, zPagination } from "@/app/api/v1/utils/pagination"; +import { zGetBookmarkSearchParamsSchema } from "@/app/api/v1/utils/types"; export const dynamic = "force-dynamic"; @@ -10,7 +11,7 @@ export const GET = ( ) => buildHandler({ req, - searchParamsSchema: zPagination, + searchParamsSchema: zPagination.and(zGetBookmarkSearchParamsSchema), handler: async ({ api, searchParams }) => { const bookmarks = await api.bookmarks.getBookmarks({ tagId: params.tagId, diff --git a/apps/web/app/api/v1/utils/types.ts b/apps/web/app/api/v1/utils/types.ts index c0e20dff..f0fe6231 100644 --- a/apps/web/app/api/v1/utils/types.ts +++ b/apps/web/app/api/v1/utils/types.ts @@ -4,3 +4,8 @@ export const zStringBool = z .string() .refine((val) => val === "true" || val === "false", "Must be true or false") .transform((val) => val === "true"); + +export const zGetBookmarkSearchParamsSchema = z.object({ + // TODO: Change the default to false in a couple of releases. + includeContent: zStringBool.optional().default("true"), +}); |
