Guest User

Untitled

a guest
Feb 16th, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. const { Router } = require('express');
  2.  
  3. const _ = require('lodash');
  4.  
  5. const router = Router();
  6. const { User } = require('./../models/User');
  7.  
  8. const { auth } = require('./../middlewares/auth');
  9.  
  10.  
  11. router
  12. .get('/', auth, (req, res) => {
  13. res.send(`hello ${req.user.name}`);
  14. })
  15. .post('/', (req, res) => {
  16. const user = new User({
  17. name: req.body.name,
  18. email: req.body.email,
  19. password: req.body.password,
  20. type: req.body.type,
  21. });
  22. user.save().then(() => user.generateAuthToken()).then((token) => {
  23. res.set('x-auth', token).send(user);
  24. }).catch((e) => {
  25. res.status(400).send(e);
  26. });
  27. })
  28. .post('/login', (req, res) => {
  29. const body = _.pick(req.body, ['email', 'password']);
  30.  
  31. User.findUserByCredentials(body.email, body.password)
  32. .then(user => user.generateAuthToken().then((token) => {
  33. res.set('x-auth', token).send({ user });
  34. })).catch(() => {
  35. res.status(400).send({});
  36. });
  37. })
  38. .delete('/logout', auth, (req, res) => {
  39. req.user.removeAuthToken(req.token).then(() => {
  40. res.send();
  41. }).catch((err) => {
  42. res.status(400).send(err);
  43. });
  44. });
  45.  
  46.  
  47. module.exports = router;
Add Comment
Please, Sign In to add comment