MusicTopus/src/middleware/Me.js
Damien Broqua 23c58459af Version 1.0 (#26)
Issues :

* [x] Pouvoir partager sa collection #1
* [x] Exporter sa collection #2
* [x] Pouvoir visualiser le détail d'un album #3
* [x] Pouvoir visualiser les médias d'un album #5
* [x] Avoir un titre distinct par page #29
* [x] Avoir des statistiques avec Matomo #30
* [x] Avoir un logo pour les pages d'erreurs #32

Co-authored-by: dbroqua <contact@darkou.fr>
Reviewed-on: #26
2022-04-08 15:03:01 +02:00

46 lines
968 B
JavaScript

import Joi from "joi";
import UsersModel from "../models/users";
/**
* Classe permettant la gestion de l'utilisateur connecté
*/
class Me {
constructor(req) {
this.req = req;
}
/**
* Méthode permettant de modifier le profil d'un utilisateur
* @return {Object}
*/
async patchMe() {
const { body, user } = this.req;
const schema = Joi.object({
isPublicCollection: Joi.boolean(),
});
const value = await schema.validateAsync(body);
const update = await UsersModel.findByIdAndUpdate(
user._id,
{ $set: value },
{ new: true }
);
await new Promise((resolve, reject) => {
this.req.login(update, (err) => {
if (err) {
return reject(err);
}
return resolve(null);
});
});
return update;
}
}
export default Me;