Added backend folder in Bhakti's branch for Salvi to make changes.
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
const jwt = require("jsonwebtoken");
|
||||
const User = require("../Models/user.model.js");
|
||||
const dotenv = require("dotenv");
|
||||
dotenv.config({
|
||||
path: "./.env",
|
||||
});
|
||||
|
||||
async function checkAuthenticated(req, res, next) {
|
||||
const tokenValue = req.cookies[process.env.TOKEN_NAME];
|
||||
|
||||
console.log("I am called", tokenValue);
|
||||
if (!tokenValue) {
|
||||
return res.status(404).json({
|
||||
success: false,
|
||||
message: "User is not logged in.",
|
||||
});
|
||||
}
|
||||
try {
|
||||
const payload = await jwt.verify(
|
||||
tokenValue,
|
||||
process.env.REFRESH_TOKEN_SECRET
|
||||
);
|
||||
|
||||
if (!payload) {
|
||||
return next();
|
||||
}
|
||||
|
||||
req.user = payload;
|
||||
return next();
|
||||
} catch (error) {
|
||||
return next();
|
||||
}
|
||||
}
|
||||
|
||||
function authorizeRoles(...roles) {
|
||||
return async (req, res, next) => {
|
||||
if (!roles.includes(req.user.role)) {
|
||||
return res.status(401).json({
|
||||
success: false,
|
||||
message: "You are unauthorised to access this resource",
|
||||
});
|
||||
return next();
|
||||
}
|
||||
|
||||
return next();
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = { checkAuthenticated, authorizeRoles };
|
||||
@@ -0,0 +1,3 @@
|
||||
module.exports = (theFunc) => (req, res, next) => {
|
||||
Promise.resolve(theFunc(req, res, next)).catch(next);
|
||||
};
|
||||
@@ -0,0 +1,16 @@
|
||||
const multer = require("multer");
|
||||
|
||||
const storage = multer.diskStorage({
|
||||
destination: function (req, file, cb) {
|
||||
cb(null, "./public/images");
|
||||
},
|
||||
|
||||
filename: function (req, file, cb) {
|
||||
const uniquePrefix = Date.now();
|
||||
cb(null, uniquePrefix + "-" + file.originalname);
|
||||
},
|
||||
});
|
||||
|
||||
const upload = multer({ storage: storage });
|
||||
|
||||
module.exports = upload;
|
||||
Reference in New Issue
Block a user