Advertisement
Guest User

Untitled

a guest
Jan 24th, 2016
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. var User = module.exports = mongoose.model('User',UserSchema);
  2.  
  3. module.exports.getUserByUsername = function(username, callback){
  4. var query = {username:username};
  5. User.findOne(query, callback);
  6. }
  7.  
  8. module.exports.createUser = function(newUser, callback){
  9. User.getUserByUsername(newUser.username,function(err,username){
  10. if(err) throw err;
  11. // username already exists
  12. if(username){
  13. // How can handle this error?
  14. console.log('username already exists');
  15. } else{
  16. bcrypt.hash(newUser.password, 10, function(err,hash){
  17. if(err) throw err;
  18. newUser.password = hash;
  19. newUser.save(callback);
  20. });
  21. }
  22. });
  23. }
  24.  
  25. router.post('/register',function(req,res,next){
  26. var username = req.body.username;
  27. var password = req.body.password;
  28.  
  29. var newUser = new User({
  30. username:username,
  31. password:password
  32. });
  33.  
  34. req.checkBody('username','Username field is required').notEmpty();
  35. req.checkBody('password','Password field is required').notEmpty();
  36.  
  37. var errors = req.validationErrors();
  38.  
  39. if(errors){
  40. res.render('register',{
  41. errors: errors,
  42. username: username,
  43. password: password
  44. });
  45. } else{
  46. User.createUser(newUser,function(err,user){
  47. if(err) throw err;
  48. req.flash('success','You are now registered and may log in');
  49. res.location('/');
  50. res.redirect('/');
  51. });
  52. }
  53. });
  54.  
  55. // username already exists
  56. if(username) {
  57. callback(new Error('username already exists'));
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement