From 02b7210e573adde3118441aeb0ebde10fd62a907 Mon Sep 17 00:00:00 2001 From: Darius BERTRAND Date: Thu, 19 Jan 2023 21:06:47 +0100 Subject: [PATCH 1/2] changement --- .../src/components/Configurations/ConfigurationDuCompte.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Site Web/client/src/components/Configurations/ConfigurationDuCompte.js b/Site Web/client/src/components/Configurations/ConfigurationDuCompte.js index 293e97b9..b42841f2 100644 --- a/Site Web/client/src/components/Configurations/ConfigurationDuCompte.js +++ b/Site Web/client/src/components/Configurations/ConfigurationDuCompte.js @@ -29,7 +29,7 @@ const ConfigurationDuCompte =()=>{ return(
-

Modification des information du compte

+

Modification des informations du compte

@@ -72,7 +72,7 @@ const ConfigurationDuCompte =()=>{ -

Note : action irreversible qui vous fera perdre toutes les données du compte en conséquence

+

Note : Cette action est irreversible qui vous fera perdre toutes les données du compte en conséquence

) From 7940b297724e54f9ad4c0400973eb115226980df Mon Sep 17 00:00:00 2001 From: Darius BERTRAND Date: Thu, 19 Jan 2023 23:18:52 +0100 Subject: [PATCH 2/2] vancement suppression compte --- .../Configurations/ConfigurationDuCompte.js | 21 +++++++++++-- .../Configurations/ConfigurationDuProfil.js | 2 +- Site Web/controllers/user.controller.js | 31 +++++++++++++++++-- Site Web/routes/user.routes.js | 3 +- 4 files changed, 49 insertions(+), 8 deletions(-) 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

- -

Note : Cette action est irreversible qui vous fera perdre toutes les données du compte en conséquence

+

Note : Cette action est irréversible qui vous fera perdre toutes les données du compte en conséquence

) 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);