diff --git a/Site Web/client/src/components/Configurations/ConfigurationDuCompte.js b/Site Web/client/src/components/Configurations/ConfigurationDuCompte.js
index b42841f2..6794eec0 100644
--- a/Site Web/client/src/components/Configurations/ConfigurationDuCompte.js
+++ b/Site Web/client/src/components/Configurations/ConfigurationDuCompte.js
@@ -16,7 +16,7 @@ const ConfigurationDuCompte =()=>{
e.preventDefault();
console.log(userData._id);
axios
- .put(`${process.env.REACT_APP_API_URL}api/user/update/`+ userData._id , { email, password })
+ .put(`${process.env.REACT_APP_API_URL}api/user/update/email/`+ userData._id , { email, password })
.then(response => {
console.log(response);
})
@@ -24,6 +24,21 @@ const ConfigurationDuCompte =()=>{
console.log(error);
});
}
+
+ /* const handleSuppression{
+
+ }
+ */
+ const deleteUser = (userId) => {
+ try {
+ console.log("test");
+ console.log(userId);
+ const response = axios.delete(`${process.env.REACT_APP_API_URL}api/user/delete/${userId}`);
+ console.log(response.data.message);
+ } catch (error) {
+ console.log(error.response.data.error);
+ }
+ }
@@ -69,10 +84,10 @@ const ConfigurationDuCompte =()=>{
Suppression du compte
-
)
diff --git a/Site Web/client/src/components/Configurations/ConfigurationDuProfil.js b/Site Web/client/src/components/Configurations/ConfigurationDuProfil.js
index 77c60d19..29030412 100644
--- a/Site Web/client/src/components/Configurations/ConfigurationDuProfil.js
+++ b/Site Web/client/src/components/Configurations/ConfigurationDuProfil.js
@@ -70,7 +70,7 @@ const ConfigurationDuProfil = ()=>{
setMessage("Erreur lors de la mise à jour de l'image de profil");
}
- userPicture(tmpAffichageImage);
+ setUserPicture(tmpAffichageImage);
console.log(userPicture);
setDisplayAdd(false);
diff --git a/Site Web/controllers/user.controller.js b/Site Web/controllers/user.controller.js
index f318e843..5d25b272 100644
--- a/Site Web/controllers/user.controller.js
+++ b/Site Web/controllers/user.controller.js
@@ -1,5 +1,6 @@
const UserModel = require("../models/user.model");
const ObjectID = require("mongoose").Types.ObjectId;
+const Post = require('../models/post.model');
const bcrypt = require('bcrypt');
//-password pour ne pas donner le password
@@ -117,11 +118,35 @@ module.exports.saveImage = async (req, res) => {
-
-
+
+module.exports.deleteUser = async (req ,res) => {
+ try {
+ // Delete all posts created by user
+ console.log("testdelete1");
+ await Post.deleteMany({ postedId: req.params.id });
+
+ // Delete all comments and likes in other post made by user
+ await Post.updateMany({}, {
+ $pull: {
+ likers: req.params.id,
+ comments: { commentId: req.params.id }
+ }
+
+ });
+ console.log("testdelete2");
+ // Delete user
+ await UserModel.findByIdAndDelete(req.params.id);
+
+ res.status(200).json({ message: 'User and all associated data deleted successfully.' });
+ } catch (error) {
+ console.log(error);
+ res.status(500).json({ error: 'An error occurred while deleting the user. Please try again later.' });
+ }
+};
+/*
module.exports.deleteUser = async (req, res) => {
if (!ObjectID.isValid(req.params.id))
return res.status(400).send("ID unknown : " + req.params.id);
@@ -133,7 +158,7 @@ module.exports.deleteUser = async (req, res) => {
return res.status(500).json({ message: err });
}
};
-
+*/
module.exports.follow = async (req, res) => {
if (!ObjectID.isValid(req.params.id) || !ObjectID.isValid(req.body.idToFollow)) {
return res.status(400).send("ID unknown : " + req.params.id);
diff --git a/Site Web/routes/user.routes.js b/Site Web/routes/user.routes.js
index 500e5265..a75be0a8 100644
--- a/Site Web/routes/user.routes.js
+++ b/Site Web/routes/user.routes.js
@@ -24,8 +24,9 @@ router.patch('/unfollow/:id', userController.unfollow);
router.patch('/notif/:id', userController.getNotif);
router.patch('/:id/image', userController.saveImage);
router.get('/:id/image',userController.getImage);
+router.put('/update/email/:id',userController.compteUpdateEmail);
router.put('/update/:id',userController.compteUpdatePseudo);
-router.put('/update/:id',userController.compteUpdatePseudo);
+router.delete('/delete/:ip', userController.deleteUser);
//upload pb avec postman
//router.post("/upload", upload.single('file'), uploadController.uploadProfil);