Guest User

Untitled

a guest
Sep 1st, 2018
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. const express = require("express");
  2. const router = express.Router();
  3. const bcrypt = require("bcryptjs");
  4. const multer = require("multer");
  5.  
  6. // multer config
  7. const storage = multer.diskStorage({
  8. destination: function(req, file, cb) {
  9. cb(null, "./static/uploads/avatars");
  10. },
  11. filename: function(req, file, cb) {
  12. cb(null, new Date().toISOString() + file.originalname);
  13. }
  14. });
  15. const fileFilter = (req, file, cb) => {
  16. if (file.mimetype === "image/jpeg" || file.mimetype === "image/png") {
  17. cb(null, true);
  18. } else {
  19. cb("please upload only image");
  20. }
  21. };
  22. const upload = multer({
  23. storage: storage,
  24. limits: 1024 * 1024 * 20,
  25. fileFilter: fileFilter
  26. }).single("avatar");
  27.  
  28. // Load User model
  29. const User = require("../../models/User");
  30.  
  31. // @route GET api/users/test
  32. // @desc Tests users route
  33. // @access Public
  34. router.get("/test", (req, res) => res.json({ msg: "Users Works" }));
  35.  
  36. // @route GET api/users/register
  37. // @desc Register user
  38. // @access Public
  39. router.post("/register", (req, res) => {
  40. upload(req, res, function(err) {
  41. if (err) {
  42. return res.status(400).json({ avatar: "please upload picture" });
  43. }
  44. User.findOne({ email: req.body.email })
  45. .then(user => {
  46. if (user) {
  47. return res.status(400).json({ email: "email already exist" });
  48. } else {
  49. // Everything went fine
  50. const newUser = new User({
  51. name: req.body.name,
  52. email: req.body.email,
  53. avatar: req.file.path,
  54. password: req.body.password
  55. });
  56.  
  57. bcrypt.genSalt(10, (err, salt) => {
  58. bcrypt.hash(newUser.password, salt, (err, hash) => {
  59. if (err) throw err;
  60. newUser.password = hash;
  61. newUser
  62. .save()
  63. .then(user => res.json(user))
  64. .catch(err => console.log(err));
  65. });
  66. });
  67. //
  68. }
  69. })
  70. .catch(err => console.log(err));
  71. });
  72. });
  73.  
  74. module.exports = router;
Add Comment
Please, Sign In to add comment