From da1e8ee5d97b53ddc999f5c3d285d56f999d1423 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Wed, 3 Jul 2024 10:23:16 -0700 Subject: [PATCH] Added image bytes to update user profile --- Server/db/MongoDB.js | 9 ++++++++- Server/routes/authRoute.js | 7 ++++++- Server/validation/joi.js | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) 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(), });