39 lines
768 B
JavaScript
39 lines
768 B
JavaScript
import Pages from './Pages';
|
|
import Users from '../models/Users';
|
|
|
|
/**
|
|
* Classe permettant de gérer les utilisateurs
|
|
*/
|
|
class Auth extends Pages {
|
|
/**
|
|
* Méthode permettant de créer un nouvel utilisateur
|
|
* @param {Req} req
|
|
* @param {Function} callback
|
|
*
|
|
* @return {Function}
|
|
*/
|
|
async register(req) {
|
|
const {username, email, password} = req.body;
|
|
const user = new Users({
|
|
username,
|
|
email,
|
|
salt: password,
|
|
});
|
|
|
|
// user.hash = user.setPassword(password);
|
|
|
|
await user.save();
|
|
|
|
await new Promise((resolve, reject) => {
|
|
req.login(user, (errLogin) => {
|
|
if (errLogin) {
|
|
return reject(errLogin);
|
|
}
|
|
|
|
return resolve(null);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
module.exports = Auth;
|