COM auth
Mon May 22 2023 11:41:09 GMT+0000 (Coordinated Universal Time)
Saved by
@sid_balar
const Client = require("../models/Client");
const User = require("../models/User");
const Auth = {};
Auth.check = async (req, res, next) => {
try {
let token;
if (req.headers.cookie) {
token = req.headers.cookie.replace("token=", "");
} else if (req.headers.token) {
token = req.headers.token;
}
if (!token) {
throwError("Please Login...!");
}
const decode = await JWT.decodeToken(token);
const user = await User.findOne({_id: decode._id});
if (user) {
req.user = user;
if (user.role !== "customer") {
req.client = await Client.findOne({staff: {$in: [user._id]}});
} else {
req.client = undefined;
}
if (AppDir === "core") {
if (user.role !== "customer") {
throwError("Please Login as a customer");
}
} else {
if (user.role === "customer") {
throwError("Please Login as a client");
}
}
} else {
throwError("User Not Found");
}
next();
} catch (error) {
next(error);
}
};
module.exports = Auth;
content_copyCOPY
Comments