Guest User

Untitled

a guest
Nov 7th, 2016
111
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let encryption = require('../utilities/encryption')
  2. let User = require('mongoose').model('User')
  3. module.exports = {
  4.     register: (req, res) => {
  5.         "use strict";
  6.         res.render('users/register')
  7.     },
  8.     create: (req, res) => {
  9.         let user = req.body
  10.  
  11.         User.findOne({ username: user.username}, function (err, person) {
  12.             if (err) {
  13.  
  14.             } else if (person) {
  15.                 res.render('users/register', { globalError: 'Username already exist' })
  16.                 return
  17.             }
  18.             else {
  19.                 if (user.password !== user.confirmPassword) {
  20.                     user.globalError = 'Passwords do not match!'
  21.                     res.render('users/register', user)
  22.                 } else {
  23.                     user.salt = encryption.generateSalt()
  24.                     user.hashedPass = encryption.generateHashedPassword(user.salt, user.password)
  25.  
  26.                     User
  27.                         .create(user)
  28.                         .then(user => {
  29.                             req
  30.                                 .logIn(user, (err) => {
  31.                                 if (err) {
  32.                                     res.render('users/register', { globalError: 'Ooops 500' })
  33.                                     return
  34.                                 }
  35.                                 res.redirect('/')
  36.                             })
  37.                         })
  38.                 }
  39.             }
  40.  
  41.  
  42.         })
  43.  
  44.  
  45.  
  46.     },
  47.     login: (req, res) => {
  48.         res.render('users/login')
  49.     },
  50.     authenticate: (req, res) => {
  51.         "use strict";
  52.         let inputUser = req.body
  53.  
  54.         User
  55.             .findOne({ username: inputUser.username })
  56.             .then(user => {
  57.                 if (!user.authenticate(inputUser.password)) {
  58.                     res.render('users/login', { globalError: 'Invalid username or password' })
  59.                 } else {
  60.                     req.logIn(user, (err, user) => {
  61.                         if (err) {
  62.                             res.render('users/login', { globalError: 'Ooops 500' })
  63.                             return
  64.                         }
  65.  
  66.                         res.redirect('/')
  67.                     })
  68.                 }
  69.             })
  70.     },
  71.     logout: (req, res) => {
  72.         "use strict";
  73.         req.logout()
  74.         res.redirect('/')
  75.     }
  76. }
RAW Paste Data