diff options
| author | MohamedBassem <me@mbassem.com> | 2024-02-13 20:49:42 +0000 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-02-13 20:59:52 +0000 |
| commit | da03fce5e5373e4791ccf0a885aaecff513156fe (patch) | |
| tree | 533d16aa8a7b4caaff9d84189d7f4c0a8579ba5f /packages/web/server/api | |
| parent | ff4482613ae70688e433d7c42784f0e24a569965 (diff) | |
| download | karakeep-da03fce5e5373e4791ccf0a885aaecff513156fe.tar.zst | |
feature: Implement a usable but ugly all tags and a single tag page
Diffstat (limited to 'packages/web/server/api')
| -rw-r--r-- | packages/web/server/api/routers/bookmarks.ts | 29 | ||||
| -rw-r--r-- | packages/web/server/api/routers/tags.ts | 0 |
2 files changed, 29 insertions, 0 deletions
diff --git a/packages/web/server/api/routers/bookmarks.ts b/packages/web/server/api/routers/bookmarks.ts index 0b97563f..953dab66 100644 --- a/packages/web/server/api/routers/bookmarks.ts +++ b/packages/web/server/api/routers/bookmarks.ts @@ -136,4 +136,33 @@ export const bookmarksAppRouter = router({ 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, + }, + orderBy: { + createdAt: "desc", + }, + select: defaultBookmarkFields, + }) + ).map(toZodSchema); + + return { bookmarks }; + }), }); diff --git a/packages/web/server/api/routers/tags.ts b/packages/web/server/api/routers/tags.ts new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/packages/web/server/api/routers/tags.ts |
