Advertisement
Guest User

Untitled

a guest
Mar 28th, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const genSalt = (key) = new Promise((resolve, reject) => bcrypt.genSalt(key, (err, salt) => {
  2.   if (err)
  3.     reject(err);
  4.   resolve(salt);
  5. }));
  6.  
  7. const hash = (pass, salt) => new Promise((resolve, reject)) => bcrypt.hash(pass, salt, (err, hash) => {
  8.   if (err)
  9.     reject(err);
  10.   resolve(hash);
  11. }));
  12.  
  13. userRouter.post('/singup', async (req, res) => {
  14.   let errors = []
  15.   const { managerID, fullName, password, password2 } = req.body
  16.   if (req.body.password != req.body.password2) {
  17.     errors.push({ text: 'Passwords do not match' })
  18.   }
  19.  
  20.   if (errors.length > 0) {
  21.     res.render('user/signup', {
  22.       errors,
  23.       managerID,
  24.       fullName,
  25.       password
  26.     });
  27.     return;
  28.   }
  29.   const user = await User.findOne({ managerID })
  30.   if (user) {
  31.     req.flash('error_msg', 'ID is already registered!')
  32.     res.redirect('/user/signup')
  33.     return;
  34.   }
  35.  
  36.   const newUser = new User({
  37.     managerID,
  38.     fullName,
  39.     password
  40.   })
  41.  
  42.   const salt = await genSalt(10);
  43.   const hash = await hash(newUser.password, salt);
  44.  
  45.   newUser.password = hash
  46.   await newUser.save()
  47.  
  48.   try {
  49.     req.flash('success_msg', 'You are now registered and can log in');
  50.     res.redirect('/user/login')
  51.   } catch (err) {
  52.     console.log(err)
  53.     return
  54.   }
  55.  
  56. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement