UNPKG

@opengis/fastify-table

Version:

core-plugins

32 lines (31 loc) 1.15 kB
import pgClients from "../../../plugins/pg/pgClients.js"; import dataUpdate from "../../../plugins/crud/funcs/dataUpdate.js"; export default async function editUserNotification(req, reply) { const { pg = pgClients.client, body, params, user, } = req; if (!user?.uid) { return reply.status(401).send({ error: "unauthorized", code: 401 }); } const { read, 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] || {}) : {}; if (author !== user.uid && user?.user_type !== "admin") { return reply .status(403) .send({ error: "not an author of notification", code: 403 }); } if (read) { return reply .status(400) .send({ error: "notification already read", code: 400 }); } const result = await dataUpdate({ pg, id: params.id, table: "crm.notifications", data: body, uid: user.uid, }); return reply.status(200).send(result); }