Update: User.delete

This commit is contained in:
Yûki VACHOT 2021-12-10 10:32:56 +01:00
parent d69f4badff
commit dd78505db8

View file

@ -315,39 +315,30 @@ exports.delete = (req, res) => {
const token = checkLogin(req, res); const token = checkLogin(req, res);
if(token && typeof req.params.id !== 'undefined') { if(token && typeof req.params.id !== 'undefined') {
let id = null; let id = null;
if(typeof token.id !== 'undefined' && req.params.id === token.id){ if(typeof token.id !== 'undefined' && token.id === req.params.id){
id = req.params.id; id = req.params.id;
} else { } else {
if(typeof token.role !== 'undefined' && if(typeof token.role !== 'undefined' &&
typeof token.role.permission !== 'undefined' && typeof token.role.permission !== 'undefined' &&
token.role.permission >= roles.Admin.permission && typeof token.role.isAccepted !== 'undefined' &&
token.role.isAccepted === true) { token.role.isAccepted === true &&
token.role.permission >= roles.Admin.permission) {
id = req.params.id; id = req.params.id;
} else { } else {
sendError(res, 500, -1, `Cannot delete User with id=${id}. User do not have the permission`, token); return sendError(res, 500, 106, `User do not have the permission.`, token);
} }
} }
if(id && ObjectId.isValid(id)){ if(id && ObjectId.isValid(id)){
User.findById(id, {hashPass: false}) User.findByIdAndUpdate(id, {isActive: false}, {useFindAndModify: false})
.then(user => {
if(user){
User.findByIdAndRemove(id)
.then(data => { .then(data => {
if(data) { if(data) {
sendMessage(res, 1, {message: `User ${id} was deleted successfully.`}, token); sendMessage(res, 8, {message: `User ${id} was successfully deleted.`}, token);
} else { } else {
sendError(res, 404, -1, `Cannot delete User with id=${id}. Maybe User was not found.`, token); sendError(res, 404, 105, `User not found with id=${id}`, token);
} }
}) })
.catch(err => { .catch(err => {
sendError(res, 500, -1, err.message || "Could not delete User with id=" + id, token); sendError(res, 500, 100, err.message || `Some error occurred while deleting the User with id=${id}`, token);
});
} else {
sendError(res,404,-1,"User not found with id " + id, token);
}
})
.catch(err => {
sendError(res,500,-1,err.message || "Error retrieving User with id=" + id, token);
}); });
} else { } else {
sendError(res, 500, -1, `Error id is not valid`, token); sendError(res, 500, -1, `Error id is not valid`, token);