Guest User

Untitled

a guest
Jun 14th, 2018
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. //users.js
  2.  
  3. const express = require('express');
  4. const router = express.Router();
  5. const gravatar = require('gravatar');
  6. const bcrypt = require('bcryptjs');
  7.  
  8. // Load User Model
  9. const User = require('../../models/User');
  10.  
  11. //@route GET api/users/test
  12. //@description Test users route
  13. //@access Public
  14.  
  15. router.get('/test', (req, res) => res.json({
  16. msg: 'Users Works'
  17. }));
  18.  
  19. //@route GET api/users/register
  20. //@description Register a user
  21. //@access Public
  22.  
  23. router.post('/register', (req, res) => {
  24. User.findOne({
  25. email: req.body.email
  26. }).then(user => {
  27. if (user) {
  28. return res.status(400).json({
  29. email: 'Email already exists'
  30. });
  31. } else {
  32.  
  33. const avatar = gravatar.url(req.body.email, {
  34. s: '200',
  35. r: 'pg',
  36. d: 'mm'
  37. });
  38.  
  39. const newUser = new User({
  40. name: req.body.name,
  41. email: req.body.email,
  42. avatar,
  43. password: req.body.password
  44. });
  45.  
  46. // encryption of password, throw and catch of error
  47. bcrypt.genSalt(10, (err, salt) => {
  48. bcrypt.hash(newUser.password, salt, (err, hash) => {
  49. if (err) throw err;
  50. newUser.password = hash;
  51. newUser
  52. .save()
  53. .then(user => res.json(user))
  54. .catch(err => console.log(err));
  55.  
  56. });
  57. });
  58. }
  59. });
  60. });
  61.  
  62. module.exports = router;
Add Comment
Please, Sign In to add comment