Guest User

Untitled

a guest
Jan 16th, 2019
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. import model from '../models';
  2. import passwordManager from '../helpers/PasswordManager';
  3. import tokenManager from '../helpers/TokenManager';
  4.  
  5. const { User } = model;
  6.  
  7. /**
  8. * @class userController
  9. * @description contains the methods used to carry out operations on a user
  10. */
  11. class UserController {
  12. /**
  13. * @static
  14. * @param {object} req - request object
  15. * @param {object} res - response object
  16. * @return {res} res - Response object
  17. * @memberof userController
  18. */
  19. static async signupUser(req, res) {
  20. try {
  21. const {
  22. fullName, userName, email, password, roleId
  23. } = req.body;
  24. const hashedPassword = await passwordManager.hashPassword(password);
  25. const foundUser = await User.findOne({ where: { email } });
  26. if (foundUser) {
  27. return res.status(409).send({
  28. status: 'failure',
  29. message: 'Email already exists.Enter another email'
  30. });
  31. }
  32. const createdUser = await User.create({
  33. userName,
  34. fullName,
  35. email,
  36. password: hashedPassword,
  37. roleId,
  38. authTypeId: 1
  39. });
  40. const token = await tokenManager.createToken(createdUser);
  41. return res.status(201).json({
  42. status: 'success',
  43. data: {
  44. token,
  45. message: 'Registered a new user'
  46. }
  47. });
  48. } catch (err) {
  49. res.status(400).json({ error: err.message });
  50. }
  51. }
  52. }
  53.  
  54. export default UserController;
Add Comment
Please, Sign In to add comment