Files
payload/src/user/index.js
2018-12-16 21:51:00 -05:00

25 lines
720 B
JavaScript

const httpStatus = require('http-status');
const passport = require('passport');
const APIError = require('../../src/lib/helpers/APIError');
module.exports = User => ({
/**
* Returns User when succesfully registered
* @param req
* @param res
* @param next
* @returns {*}
*/
post: (req, res, next) => {
User.register(new User({ email: req.body.email }), req.body.password, (err, user) => {
if (err) {
const error = new APIError('Authentication error', httpStatus.UNAUTHORIZED);
return next(error);
}
passport.authenticate('local')(req, res, () => {
res.json({ email: user.email, role: user.role, createdAt: user.createdAt });
});
});
}
});