From 950f1f6d3f45294d6433ef037b23b81e89f8c958 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 28 Nov 2025 15:22:06 +0530 Subject: [PATCH] Super admin details update restricted --- app/controllers/establishment.controller.js | 22 ++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/app/controllers/establishment.controller.js b/app/controllers/establishment.controller.js index ff01ce1..5813768 100644 --- a/app/controllers/establishment.controller.js +++ b/app/controllers/establishment.controller.js @@ -585,6 +585,20 @@ exports.updateEstablishment = async (req, res) => { try { const { id } = req.params; const { establishment_products, establishment_user, ...estData } = req.body; + const user = await EstablishmentUser.findOne({where:{establishment_id:id}}); + console.log("Establishment User email: ",user.email) + if (user?.email === 'bhavinkumar.chandulal@fcsc.gov.ae') { + return res.status(403).json({ + status: "error", + message: "You cannot modify Super Admin data." + }); + } + const resolveActionDoneBy = (item) => { + if (item?.action_done_by) return item.action_done_by; + + if (req.user.role === "Admin") return "admin_users"; + return "establishment_users"; + }; const establishment = await Establishment.findByPk(id); if (!establishment) { @@ -600,12 +614,7 @@ exports.updateEstablishment = async (req, res) => { return res.status(400).json({ status:"failed", message:"establishment_code already exists" }); } } - const resolveActionDoneBy = (item) => { - if (item?.action_done_by) return item.action_done_by; - - if (req.user.role === "Admin") return "admin_users"; - return "establishment_users"; - }; + estData.updated_by = estData.updated_by || req.user.id; estData.updated_at = estData.updated_at || new Date(); // update establishment @@ -632,7 +641,6 @@ exports.updateEstablishment = async (req, res) => { // update user if needed if (establishment_user) { - const user = await EstablishmentUser.findOne({where:{establishment_id:id}}); if (user) { let updateUser = { name: establishment_user.name,