aboutsummaryrefslogtreecommitdiffstats
path: root/apps/web/app/api/v1/bookmarks/route.ts
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-05-18 16:58:08 +0100
committerGitHub <noreply@github.com>2025-05-18 16:58:08 +0100
commit3505cb7d6416d101a4fcb1be27fc22e0171bacd2 (patch)
treeef9f55504b8a5b20add8c0ebe916972ab4ab0178 /apps/web/app/api/v1/bookmarks/route.ts
parent74e74fa6425f072107de3a9bc9dd8f91c5ac9a7d (diff)
downloadkarakeep-3505cb7d6416d101a4fcb1be27fc22e0171bacd2.tar.zst
refactor: Migrate from NextJs's API routes to Hono based routes for the API (#1432)
* Setup Hono and migrate the highlights API there * Implement the tags and lists endpoint * Implement the bookmarks and users endpoints * Add the trpc error code adapter * Remove the old nextjs handlers * fix api key not found handling * Fix trpc error handling * Fix 204 handling * Fix search ordering * Implement the singlefile endpoint * Implement the asset serving endpoints * Implement webauth * Add hono as a catch all route under api * fix tests
Diffstat (limited to 'apps/web/app/api/v1/bookmarks/route.ts')
-rw-r--r--apps/web/app/api/v1/bookmarks/route.ts46
1 files changed, 0 insertions, 46 deletions
diff --git a/apps/web/app/api/v1/bookmarks/route.ts b/apps/web/app/api/v1/bookmarks/route.ts
deleted file mode 100644
index 4df4f6ad..00000000
--- a/apps/web/app/api/v1/bookmarks/route.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-import { NextRequest } from "next/server";
-import { z } from "zod";
-
-import {
- zNewBookmarkRequestSchema,
- zSortOrder,
-} from "@karakeep/shared/types/bookmarks";
-
-import { buildHandler } from "../utils/handler";
-import { adaptPagination, zPagination } from "../utils/pagination";
-import { zStringBool } from "../utils/types";
-
-export const dynamic = "force-dynamic";
-
-export const GET = (req: NextRequest) =>
- buildHandler({
- req,
- searchParamsSchema: z
- .object({
- favourited: zStringBool.optional(),
- archived: zStringBool.optional(),
- sortOrder: zSortOrder
- .exclude([zSortOrder.Enum.relevance])
- .optional()
- .default(zSortOrder.Enum.desc),
- // TODO: Change the default to false in a couple of releases.
- includeContent: zStringBool.optional().default("true"),
- })
- .and(zPagination),
- handler: async ({ api, searchParams }) => {
- const bookmarks = await api.bookmarks.getBookmarks({
- ...searchParams,
- });
- return { status: 200, resp: adaptPagination(bookmarks) };
- },
- });
-
-export const POST = (req: NextRequest) =>
- buildHandler({
- req,
- bodySchema: zNewBookmarkRequestSchema,
- handler: async ({ api, body }) => {
- const bookmark = await api.bookmarks.createBookmark(body!);
- return { status: 201, resp: bookmark };
- },
- });