Files
permit-api/src/notification/notification.route.ts
2025-02-05 13:52:04 +05:30

34 lines
861 B
TypeScript

import { FastifyInstance } from "fastify";
import { $notification } from "./notification.schema";
import {
listNotificationsHandler,
updateNotificationHandler,
} from "./notification.controller";
export async function notificationRoutes(fastify: FastifyInstance) {
fastify.get(
"/",
{
schema: {
querystring: $notification("pageQueryParams"),
},
config: { requiredClaims: ["notification:read"] },
preHandler: [fastify.authorize],
},
listNotificationsHandler
);
fastify.patch(
"/:notifId",
{
schema: {
params: { type: "object", properties: { notifId: { type: "string" } } },
body: $notification("updateNotificationInput"),
},
config: { requiredClaims: ["notification:write"] },
preHandler: [fastify.authorize],
},
updateNotificationHandler
);
}