diff options
| author | MohamedBassem <me@mbassem.com> | 2024-02-09 15:32:04 +0000 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-02-09 15:32:04 +0000 |
| commit | 4fae8f04f546d2b3f6053870d93385fa36af4742 (patch) | |
| tree | fbf91f3c3c3d2bd85e9e4cfc8200d275a78fb700 /packages/web/app/api | |
| parent | b25f17509e704eb41523bf455a33804cabf8aaca (diff) | |
| download | karakeep-4fae8f04f546d2b3f6053870d93385fa36af4742.tar.zst | |
[ui] Adding the favourites and archive pages
Diffstat (limited to 'packages/web/app/api')
| -rw-r--r-- | packages/web/app/api/v1/bookmarks/route.ts | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/packages/web/app/api/v1/bookmarks/route.ts b/packages/web/app/api/v1/bookmarks/route.ts index a78535cc..98e01080 100644 --- a/packages/web/app/api/v1/bookmarks/route.ts +++ b/packages/web/app/api/v1/bookmarks/route.ts @@ -5,6 +5,7 @@ import { zNewBookmarkRequestSchema, ZGetBookmarksResponse, ZBookmark, + zGetBookmarksRequestSchema, } from "@/lib/types/api/bookmarks"; import { getServerSession } from "next-auth"; import { NextRequest, NextResponse } from "next/server"; @@ -33,14 +34,21 @@ export async function POST(request: NextRequest) { return NextResponse.json(response, { status: 201 }); } -export async function GET() { +export async function GET(request: NextRequest) { // TODO: We probably should be using an API key here instead of the session; const session = await getServerSession(authOptions); if (!session) { return new Response(null, { status: 401 }); } - const bookmarks = await getBookmarks(session.user.id); + const query = request.nextUrl.searchParams; + const params = zGetBookmarksRequestSchema.safeParse(query); + + if (!params.success) { + return new Response(null, { status: 400 }); + } + + const bookmarks = await getBookmarks(session.user.id, params.data); const response: ZGetBookmarksResponse = { bookmarks }; return NextResponse.json(response); |
