From 3745443c2b27afb833be7bcc2f3b4f486a42a571 Mon Sep 17 00:00:00 2001 From: MohamedBassem Date: Wed, 7 Feb 2024 18:12:53 +0000 Subject: [feature] Add support for deleting links --- web/lib/api.ts | 10 ++++++++-- web/lib/services/links.ts | 9 +++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) (limited to 'web/lib') diff --git a/web/lib/api.ts b/web/lib/api.ts index 193d9bb7..12ce9464 100644 --- a/web/lib/api.ts +++ b/web/lib/api.ts @@ -35,8 +35,8 @@ async function doRequest( opts?: RequestInit, ): Promise< | (InputSchema extends ZodTypeAny - ? [z.infer>, undefined] - : [undefined, undefined]) + ? [z.infer>, undefined] + : [undefined, undefined]) | [undefined, FetchError] > { try { @@ -84,4 +84,10 @@ export default class APIClient { body: JSON.stringify(body), }); } + + static async unbookmarkLink(linkId: string) { + return await doRequest(`/links/${linkId}`, undefined, { + method: "DELETE", + }); + } } diff --git a/web/lib/services/links.ts b/web/lib/services/links.ts index f3ff1757..dbcbe9c4 100644 --- a/web/lib/services/links.ts +++ b/web/lib/services/links.ts @@ -1,6 +1,15 @@ import { LinkCrawlerQueue } from "@remember/shared/queues"; import prisma from "@remember/db"; +export async function unbookmarkLink(linkId: string, userId: string) { + await prisma.bookmarkedLink.delete({ + where: { + id: linkId, + userId, + }, + }); +} + export async function bookmarkLink(url: string, userId: string) { const link = await prisma.bookmarkedLink.create({ data: { -- cgit v1.2.3-70-g09d2