diff --git a/Server/db/MongoDB.js b/Server/db/MongoDB.js index da9bf6cba..1dc26ce2c 100644 --- a/Server/db/MongoDB.js +++ b/Server/db/MongoDB.js @@ -88,9 +88,16 @@ const getUserByEmail = async (req, res) => { const updateUser = async (req, res) => { const candidateUserId = req.params.userId; - const candidateUser = req.body; try { + const candidateUser = { ...req.body }; + if (req.file) { + candidateUser.profileImage = { + data: req.file.buffer, + contentType: req.file.mimetype, + }; + } + const updatedUser = await UserModel.findByIdAndUpdate( candidateUserId, candidateUser, diff --git a/Server/routes/authRoute.js b/Server/routes/authRoute.js index f9142a395..775768c7e 100644 --- a/Server/routes/authRoute.js +++ b/Server/routes/authRoute.js @@ -16,7 +16,12 @@ const { //Auth routes router.post("/register", upload.single("profileImage"), registerController); router.post("/login", loginController); -router.post("/user/:userId", verifyJWT, userEditController); +router.post( + "/user/:userId", + upload.single("profileImage"), + verifyJWT, + userEditController +); router.get("/users/admin", checkAdminController); //Recovery routes diff --git a/Server/validation/joi.js b/Server/validation/joi.js index 404e71357..264aa2e1e 100644 --- a/Server/validation/joi.js +++ b/Server/validation/joi.js @@ -25,7 +25,7 @@ const editUserParamValidation = joi.object({ const editUserBodyValidation = joi.object({ firstname: joi.string(), lastname: joi.string(), - profilePicUrl: joi.string(), + profileImage: joi.any(), role: joi.string(), });