forked from dbroqua/MusicTopus
Added feature for delete user account
This commit is contained in:
parent
6ee117b583
commit
ad8b8f4767
4 changed files with 78 additions and 1 deletions
|
@ -1,6 +1,8 @@
|
|||
import Joi from "joi";
|
||||
|
||||
import UsersModel from "../models/users";
|
||||
import AlbumsModel from "../models/albums";
|
||||
import WantlistModel from "../models/wantlist";
|
||||
import Pages from "./Pages";
|
||||
|
||||
/**
|
||||
|
@ -69,6 +71,23 @@ class Me extends Pages {
|
|||
|
||||
return user;
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode permettant de supprimer un utilisateur et toutes ses données
|
||||
*
|
||||
* @return {Object}
|
||||
*/
|
||||
async deleteMe() {
|
||||
const { _id } = this.req.user;
|
||||
|
||||
await AlbumsModel.deleteMany({ User: _id });
|
||||
await WantlistModel.deleteMany({ User: _id });
|
||||
await UsersModel.deleteOne({ _id });
|
||||
|
||||
return {
|
||||
deleted: true,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export default Me;
|
||||
|
|
|
@ -15,6 +15,16 @@ router
|
|||
const me = new Me(req);
|
||||
const data = await me.patchMe();
|
||||
|
||||
return sendResponse(req, res, data);
|
||||
} catch (err) {
|
||||
return next(err);
|
||||
}
|
||||
})
|
||||
.delete(ensureLoggedIn("/connexion"), async (req, res, next) => {
|
||||
try {
|
||||
const me = new Me(req);
|
||||
const data = await me.deleteMe();
|
||||
|
||||
return sendResponse(req, res, data);
|
||||
} catch (err) {
|
||||
return next(err);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue