@opengis/fastify-table
Version:
core-plugins
26 lines (25 loc) • 990 B
JavaScript
import pgClients from "../../../plugins/pg/pgClients.js";
import dataDelete from "../../../plugins/crud/funcs/dataDelete.js";
export default async function editUserNotification(req, reply) {
const { pg = pgClients.client, params, user, } = req;
if (!user?.uid) {
return reply.status(401).send({ error: "unauthorized", code: 401 });
}
const author = pg && pg.pk?.["crm.notifications"]
? await pg
.query("select read, author_id as author from crm.notifications where notification_id=$1", [params.id])
.then((el) => el.rows?.[0]?.author)
: null;
if (author && author !== user.uid && user?.user_type !== "admin") {
return reply
.status(403)
.send({ error: "not an author of notification", code: 403 });
}
const result = await dataDelete({
pg,
id: params.id,
table: "crm.notifications",
uid: user.uid,
});
return reply.status(200).send(result);
}