aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packages/web/app/dashboard/tags/[tagName]/page.tsx8
-rw-r--r--packages/web/lib/types/api/bookmarks.ts1
-rw-r--r--packages/web/server/api/routers/bookmarks.ts34
3 files changed, 11 insertions, 32 deletions
diff --git a/packages/web/app/dashboard/tags/[tagName]/page.tsx b/packages/web/app/dashboard/tags/[tagName]/page.tsx
index a95b0f90..729a5cbc 100644
--- a/packages/web/app/dashboard/tags/[tagName]/page.tsx
+++ b/packages/web/app/dashboard/tags/[tagName]/page.tsx
@@ -39,15 +39,17 @@ export default async function TagPage({
},
});
- const bookmarks = await api.bookmarks.getBookmarksById({
+ const query = {
ids: bookmarkIds.map((b) => b.bookmarkId),
archived: false,
- });
+ };
+
+ const bookmarks = await api.bookmarks.getBookmarks(query);
return (
<div className="flex flex-col">
<span className="container py-4 text-2xl">#{params.tagName}</span>
- <BookmarksGrid bookmarks={bookmarks.bookmarks} />
+ <BookmarksGrid query={query} bookmarks={bookmarks.bookmarks} />
</div>
);
}
diff --git a/packages/web/lib/types/api/bookmarks.ts b/packages/web/lib/types/api/bookmarks.ts
index 3d70f868..772ef153 100644
--- a/packages/web/lib/types/api/bookmarks.ts
+++ b/packages/web/lib/types/api/bookmarks.ts
@@ -33,6 +33,7 @@ export type ZNewBookmarkRequest = z.infer<typeof zNewBookmarkRequestSchema>;
// GET /v1/bookmarks
export const zGetBookmarksRequestSchema = z.object({
+ ids: z.array(z.string()).optional(),
archived: z.boolean().optional(),
favourited: z.boolean().optional(),
});
diff --git a/packages/web/server/api/routers/bookmarks.ts b/packages/web/server/api/routers/bookmarks.ts
index 1a78724d..29911bb3 100644
--- a/packages/web/server/api/routers/bookmarks.ts
+++ b/packages/web/server/api/routers/bookmarks.ts
@@ -163,35 +163,11 @@ export const bookmarksAppRouter = router({
userId: ctx.user.id,
archived: input.archived,
favourited: input.favourited,
- },
- orderBy: {
- createdAt: "desc",
- },
- select: defaultBookmarkFields,
- })
- ).map(toZodSchema);
-
- return { bookmarks };
- }),
- getBookmarksById: authedProcedure
- .input(
- zGetBookmarksRequestSchema.merge(
- z.object({
- ids: z.array(z.string()),
- }),
- ),
- )
- .output(zGetBookmarksResponseSchema)
- .query(async ({ input, ctx }) => {
- const bookmarks = (
- await prisma.bookmark.findMany({
- where: {
- id: {
- in: input.ids,
- },
- userId: ctx.user.id,
- archived: input.archived,
- favourited: input.favourited,
+ id: input.ids
+ ? {
+ in: input.ids,
+ }
+ : undefined,
},
orderBy: {
createdAt: "desc",