Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const express = require("express");
- const router = express.Router();
- const gravatar = require("gravatar");
- const bcrypt = require("bcryptjs");
- // Load user model
- const User = require("../../models/User");
- // @route GET api/users/test
- // @desc Tests users route
- // @access Public
- router.get("/test", (req, res) => res.json({ msg: "Users works!" }));
- // @route GET api/users/register
- // @desc Register a user
- // @access Public
- router.post("/register", (req, res) => {
- User.findOne({ email: req.body.email })
- .then(user => {
- if (user) {
- return res.status(400).json({ email: "Email already exists." });
- } else {
- const avatar = gravatar.url(req.body.email, {
- s: "200", // Size
- r: "pg", // Rating
- d: "mm" // Default profile picture
- });
- const newUser = new User({
- name: req.body.name,
- email: req.body.email,
- avatar,
- password: req.body.avatar
- });
- bcrypt.genSalt(10, (err, salt) => {
- bcrypt.hash(newUser.password, salt, (err, hash) => {
- if (err) {
- throw err;
- }
- newUser.password = hash;
- newUser
- .save()
- .then(user => res.json(user))
- .catch(err => console.log(err));
- });
- });
- }
- })
- .catch();
- });
- module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement