· 7 years ago · Aug 15, 2018, 06:00 AM
1const User = require('../../models/Users')
2const bcrypt = require('bcrypt')
3const jwt = require('jsonwebtoken')
4
5module.exports.getUsers = (req,res,next) => {
6 User.find()
7 .then(result => res.status(200).json(result))
8}
9module.exports.loginUser = (req,res,next) => {
10 User.find({email: req.body.email})
11 .then( user => {
12 if(user.length < 1) {
13 res.status(401).json({
14 message: "Auth failed"
15 })
16 }
17 bcrypt.compare(req.body.password,user[0].password, (err,result) => {
18 if(err) {
19 res.status(401).json({
20 message: "Auth failed"
21 })
22 }
23 if(result) {
24 const token = jwt.sign({
25 email: req.params.email
26 }, "secret_key", { expiresIn: "1h" })
27 return res.status(200).json({
28 message: "Auth Successful",
29 token: token
30 })
31 }
32 res.status(401).json({
33 message: "Auth failed"
34 })
35 })
36 })
37 .catch( err => {
38 res.status(401).json({
39 message: "Auth failed"
40 })
41 })
42}
43module.exports.deleteUser = (req,res,next ) => {
44 User.findOneAndRemove({_id: req.params.userId})
45 .then( result => res.status(200).json({
46 message: "User deleted"
47 }))
48 .catch( err => {
49 res.status(500).json({
50 error: err
51 })
52 })
53}
54module.exports.signupUser = (req,res,next) => {
55 bcrypt.hash(req.body.password, 10, function(err, hash) {
56 if(err) {
57 console.log('rrr' + err);
58 res.status(500).json({
59 error: err
60 })
61 } else {
62 const user = new User({
63 email: req.body.email,
64 password: hash
65 })
66 user
67 .save()
68 .then(result => {
69 console.log(result)
70 res.status(200).json({
71 message: 'user created'
72 })
73 })
74 .catch( err => {
75 res.status(500).json({error: err})
76 })
77 }
78 });
79}