Advertisement
Guest User

Untitled

a guest
Aug 25th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. const User = require('../../models/user')
  2. const ERROR_MESSAGES = require('../../models/constant').ERROR_MESSAGES
  3. const RESPONSE_STATUS = require('../../models/constant').RESPONSE_STATUS
  4. const helper = require('../../helpers/helper')
  5. const validator = require('validator')
  6.  
  7. module.exports.register = function(req, res) {
  8. const email = req.body.email
  9. const password = req.body.password
  10. const errors = []
  11.  
  12. // input validation
  13. if (!email || email.trim().length == 0) {
  14. errors.push(ERROR_MESSAGES.EMPTY.EMAIL)
  15. } else if (!validator.isEmail(email)) {
  16. errors.push(ERROR_MESSAGES.INVALID.EMAIL)
  17. }
  18.  
  19. if (!password) {
  20. errors.push(ERROR_MESSAGES.EMPTY.PASSWORD)
  21. }
  22.  
  23. if (errors.length > 0) {
  24. return res.json(helper.generateResponse(errors, null, RESPONSE_STATUS.REQUEST_DENIED))
  25. } else {
  26. User.findOne({email: email}, function(err, user){
  27. if (err) {
  28. res.json(helper.generateResponse([ERROR_MESSAGES.UNKNOW], null, RESPONSE_STATUS.REQUEST_DENIED))
  29. } else if (user) {
  30. res.json(helper.generateResponse([ERROR_MESSAGES.DUPLICATE.EMAIL], null, RESPONSE_STATUS.REQUEST_DENIED))
  31. } else {
  32. var user = new User()
  33. user.email = email
  34. user.password = user.generateHash(password)
  35.  
  36. var errorValidation = user.validateSync();
  37.  
  38. if (errorValidation) {
  39. // input validation
  40. errors = helper.getMongooseValidationErrors(errorValidation.errors)
  41. res.json(helper.generateResponse(errors, null, RESPONSE_STATUS.REQUEST_DENIED))
  42. } else {
  43. user.save(function(error, newUser) {
  44. if (error) {
  45. res.json(helper.generateResponse([error], null, RESPONSE_STATUS.REQUEST_DENIED))
  46. } else {
  47. res.json(helper.generateResponse(errors, newUser, RESPONSE_STATUS.SUCCESS))
  48. }
  49. })
  50. }
  51. }
  52. })
  53. }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement