diff --git a/components/InterestDetailsModal.vue b/components/InterestDetailsModal.vue index 2d9df19..37b45e5 100644 --- a/components/InterestDetailsModal.vue +++ b/components/InterestDetailsModal.vue @@ -389,15 +389,18 @@ diff --git a/server/api/delete-interest.ts b/server/api/delete-interest.ts index df48366..e948e0f 100644 --- a/server/api/delete-interest.ts +++ b/server/api/delete-interest.ts @@ -1,11 +1,20 @@ import { deleteInterest } from "~/server/utils/nocodb"; export default defineEventHandler(async (event) => { - const body = await readBody(event); - const { id } = body; - const xTag = getHeader(event, "x-tag"); + const xTagHeader = getRequestHeader(event, "x-tag"); + + if (!xTagHeader || xTagHeader !== "094ut234") { + throw createError({ statusCode: 401, statusMessage: "unauthenticated" }); + } try { + const body = await readBody(event); + const { id } = body; + + if (!id) { + throw createError({ statusCode: 400, statusMessage: "ID is required" }); + } + // Delete the interest from NocoDB await deleteInterest(id); @@ -13,10 +22,14 @@ export default defineEventHandler(async (event) => { success: true, message: "Interest deleted successfully", }; - } catch (error: any) { - throw createError({ - statusCode: 500, - statusMessage: error.message || "Failed to delete interest", - }); + } catch (error) { + if (error instanceof Error) { + throw createError({ statusCode: 500, statusMessage: error.message }); + } else { + throw createError({ + statusCode: 500, + statusMessage: "An unexpected error occurred", + }); + } } });