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;