Advertisement
Guest User

Untitled

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