add notification delete route

This commit is contained in:
2025-04-11 12:11:55 +05:30
parent e9bba4bdf5
commit 7b659c0dd3
3 changed files with 43 additions and 0 deletions

View File

@@ -2,6 +2,7 @@ import { FastifyRequest, FastifyReply } from "fastify";
import { PageQueryParams } from "../pagination";
import {
createNotification,
deleteNotification,
listNotifications,
updateNotification,
} from "./notification.service";
@@ -63,3 +64,20 @@ export async function updateNotificationHandler(
return err;
}
}
export async function deleteNotificationHandler(
req: FastifyRequest,
res: FastifyReply
) {
const { notifId } = req.params as { notifId: string };
try {
const deleteResult = await deleteNotification(notifId, req.user.tenantId);
if (deleteResult.deletedCount == 0)
return res.code(404).send({ error: "resource not found" });
return res.code(204).send();
} catch (err) {
return err;
}
}

View File

@@ -2,6 +2,7 @@ import { FastifyInstance } from "fastify";
import { $notification } from "./notification.schema";
import {
createNotificationHandler,
deleteNotificationHandler,
listNotificationsHandler,
updateNotificationHandler,
} from "./notification.controller";
@@ -45,6 +46,24 @@ export async function notificationRoutes(fastify: FastifyInstance) {
updateNotificationHandler
);
fastify.delete(
"/:notifId",
{
schema: {
params: {
type: "object",
properties: {
notifId: { type: "string" },
},
},
},
config: { requiredClaims: ["notification:delete"] },
preHandler: [fastify.authorize],
},
deleteNotificationHandler
);
fastify.get(
"/fields/:field",
{

View File

@@ -90,6 +90,12 @@ export async function listNotifications(
};
}
export async function deleteNotification(notifId: string, tenantId: string) {
return await notificationModel.deleteOne({
$and: [{ tenantId: tenantId }, { pid: notifId }],
});
}
export async function getUniqueValuesNotification(
field: string,
tenenatId: string