Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- exports.registerNewUser = (userObject, emit) => {
- checkAccounts(userObject.username, (success) => {
- if (success) {
- createPasswordHash(userObject.password, userObject.username.length, (hashPassword) => {
- Users.create({
- ID: NaN,
- name: userObject.username,
- email: userObject.email,
- password: hashPassword
- }).then(res => {
- users.push(new User({
- ID: res.ID,
- name: res.name,
- email: res.email,
- password: res.password
- })
- )
- })
- console.log('Registered new user', users)
- // emit('Your account is successfully registered')
- })
- } else {
- // emit('Failure to register user: Username already taken')
- }
- })
- }
- function checkAccounts (username, cb) {
- let success = true
- for (let account of users) {
- if (account != null) {
- if (account.name === username) {
- console.log('username already exists')
- success = false
- } else {
- cb(success)
- }
- }
- console.log('username available')
- cb(success)
- }
- }
- function createPasswordHash (plain, saltRound, store) {
- bcrypt.genSalt(saltRound).then(salt => {
- return bcrypt.hash(plain, salt)
- }).then(hash => {
- store(hash)
- }).catch(err => { console.error(err) })
- }
- function verifyPassword (test, hash) {
- bcrypt.compare(test, hash).then(res => {
- console.log('verified:', res)
- return res
- }).catch(err => { console.error(err) })
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement