const asyncHandler = require("express-async-handler"); const jwt = require("jsonwebtoken"); const Admin = require("../models/adminModels"); const validateAdminToken = asyncHandler(async (req, res, next) => { let token = req.headers.siteuser || req.headers.SiteUser; if (!token) { res.status(401); throw new Error("User is not authorized(N)"); } else { const tokenA = await Admin.findOne({ token }) if (tokenA) { jwt.verify(token, process.env.ACCESS_TOKEN_SECERT_ADMIN, (err, decoded) => { if (err) { res.status(401); throw new Error("User is not authorized(JWT E)"); } req.admin = decoded.user; next(); }); } else { res.status(401); throw new Error("User is not authorized(DB N)"); } } }); module.exports = { name: "validateAdminToken", run: validateAdminToken };