Advertisement
Guest User

Untitled

a guest
Mar 13th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. exports.registerNewUser = (userObject, emit) => {
  2. checkAccounts(userObject.username, (success) => {
  3. if (success) {
  4. createPasswordHash(userObject.password, userObject.username.length, (hashPassword) => {
  5. Users.create({
  6.  
  7. ID: NaN,
  8. name: userObject.username,
  9. email: userObject.email,
  10. password: hashPassword
  11.  
  12. }).then(res => {
  13. users.push(new User({
  14.  
  15. ID: res.ID,
  16. name: res.name,
  17. email: res.email,
  18. password: res.password
  19.  
  20. })
  21. )
  22. })
  23.  
  24. console.log('Registered new user', users)
  25. // emit('Your account is successfully registered')
  26. })
  27. } else {
  28. // emit('Failure to register user: Username already taken')
  29. }
  30. })
  31. }
  32.  
  33. function checkAccounts (username, cb) {
  34. let success = true
  35.  
  36. for (let account of users) {
  37. if (account != null) {
  38. if (account.name === username) {
  39. console.log('username already exists')
  40. success = false
  41. } else {
  42. cb(success)
  43. }
  44. }
  45. console.log('username available')
  46. cb(success)
  47. }
  48. }
  49.  
  50. function createPasswordHash (plain, saltRound, store) {
  51. bcrypt.genSalt(saltRound).then(salt => {
  52. return bcrypt.hash(plain, salt)
  53. }).then(hash => {
  54. store(hash)
  55. }).catch(err => { console.error(err) })
  56. }
  57.  
  58. function verifyPassword (test, hash) {
  59. bcrypt.compare(test, hash).then(res => {
  60. console.log('verified:', res)
  61. return res
  62. }).catch(err => { console.error(err) })
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement