From dc6e0eab70421749faaa9a802d66c1901f3e9b50 Mon Sep 17 00:00:00 2001 From: MohamedBassem Date: Sun, 31 Mar 2024 16:34:52 +0100 Subject: feature: Add support deleting tags --- packages/trpc/routers/tags.ts | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'packages/trpc') diff --git a/packages/trpc/routers/tags.ts b/packages/trpc/routers/tags.ts index 211c3633..f6ce752d 100644 --- a/packages/trpc/routers/tags.ts +++ b/packages/trpc/routers/tags.ts @@ -104,6 +104,32 @@ export const tagsAppRouter = router({ bookmarks: res.flatMap((t) => (t.bookmarkId ? [t.bookmarkId] : [])), }; }), + delete: authedProcedure + .input( + z + .object({ + tagId: z.string(), + }) + .or( + z.object({ + tagName: z.string(), + }), + ), + ) + .use(ensureTagOwnership) + .mutation(async ({ input, ctx }) => { + const res = await ctx.db + .delete(bookmarkTags) + .where( + and( + conditionFromInput(input, ctx.user.id), + eq(bookmarkTags.userId, ctx.user.id), + ), + ); + if (res.changes == 0) { + throw new TRPCError({ code: "NOT_FOUND" }); + } + }), list: authedProcedure .output( z.object({ -- cgit v1.2.3-70-g09d2