-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathUser.js
107 lines (91 loc) · 3.03 KB
/
User.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
var userRoutes = function (app, User) {
var crypto = require('crypto');
var appSecret = 'hydrocortisone181273';
app.get('/users', function (req, res) {
console.log('GET /users');
User.find({}, 'name email admin')
.sort({name: 'ascending'})
.exec()
.then(function (docs) {
res.send(docs);
}, function (error) {
console.log('Ooops: ' + error);
res.status(500).send('Ooops: Unable to retrieve data!');
});
});
app.put('/auth/user/favs/pull/:userId', function (req, res) {
console.log('PUT /user/favs/pull/' + req.params.userId);
User.findByIdAndUpdate(req.user._id,
{$pull: {'favs': req.params.userId}},
{new: true},
function (err, user) {
console.log(err);
console.log(user);
});
res.send('OK');
});
app.put('/auth/user/favs/push/:userId', function (req, res) {
console.log('PUT /user/favs/push/' + req.params.userId);
User.findByIdAndUpdate(req.user._id,
{$push: {'favs': req.params.userId}},
{new: true},
function (err, user) {
console.log(err);
console.log(user);
});
res.send('OK');
});
app.get('/auth/user/favs', function (req, res) {
console.log('GET /user/favs' + req.user._id);
return User.findById(
req.user._id,
{favs: 1},
function (err, favs) {
if (err) {
res.send(401, 'fav error');
return;
}
res.send(favs);
});
});
app.post('/register', function (req, res) {
console.log('POST /register' + req.body.name);
var hash = crypto
.createHash('md5', appSecret)
.update(req.body.password)
.digest('hex');
User.create({
name: req.body.name,
email: req.body.email,
password: hash
},
function (err, user) {
if (err) {
console.log('Ooops: ' + error);
res.status(500).send('Ooops: Unable to register!');
return;
}
console.log('User registered: ' + req.body.name);
return res.send(user);
});
});
//app.put('/auth/reset/:userId', function (req, res) {
// console.log('PUT /auth/reset/' + req.params.userId);
//
// var hash = crypto
// .createHash('md5', appSecret)
// .update(req.body.password)
// .digest('hex');
//
// User.findByIdAndUpdate(req.user._id,
// {password: hash},
// {new: true},
// function (err, user) {
// console.log(err);
// console.log(user);
// });
//
// res.send('OK');
//});
};
exports = module.exports = userRoutes;