Advertisement
Guest User

Untitled

a guest
Aug 19th, 2016
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var express = require('express');
  2. var router = express.Router();
  3. // grab the user model
  4. var User = require('../models/User');
  5. var sha1 = require('sha1');
  6.  
  7. router.get('/', function (req, res) {
  8.     if (!req.session.user || req.session.user === undefined) {
  9.         res.status(404).json('Session not found');
  10.         return;
  11.     }
  12.  
  13.     res.status(200).json(req.session.user);
  14. });
  15.  
  16. router.post('/register', function (req, res) {            
  17.     User.findOne({username: req.body.username}, function (err, user) {
  18.         if (user !== null) {
  19.             res.status(400).json("You already have registered");
  20.             return;
  21.         }
  22.     });
  23.  
  24.     // create a new user
  25.     var newUser = User({
  26.         name: req.body.name,
  27.         username: req.body.username,
  28.         password: req.body.password,
  29.         confirm_password: req.body.confirm_password,
  30.         admin: false
  31.     });
  32.    
  33.     try {
  34.         newUser.validateInput(req.body);
  35.     } catch (err) {
  36.         res.status(400).json(err);
  37.         return;
  38.     }
  39.  
  40.     newUser.save(function (err, newUser) {
  41.         if (err){}
  42.         else {
  43.             var data = {
  44.                 _id: newUser._id,
  45.                 name: newUser.name,
  46.                 username: newUser.username,
  47.                 admin: newUser.admin
  48.             };
  49.             res.status(200).json(data);
  50.         }
  51.     });    
  52. });
  53.  
  54. router.post('/login', function (req, res) {
  55.     User.findOne({username: req.body.username, password: sha1(req.body.password)}, function (err, user) {
  56.        
  57.         if (user !== null) {
  58.             var data = {
  59.                 _id: user._id,
  60.                 name: user.name,
  61.                 username: user.username,
  62.                 admin: user.admin
  63.             };
  64.            
  65.             req.session.user = data;
  66.             res.status(200).json(data);
  67.             return;
  68.         } else {
  69.             res.status(400).json("Invalid username or password");
  70.         }
  71.     });
  72. });
  73.  
  74. router.get('/logout', function (req, res) {
  75.     req.session.destroy();
  76.     res.status(200).json("Successfully logged out");
  77. });
  78. module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement