user fav system implemented
idoctnef idoctnef@openmailbox.org
Thu, 06 Oct 2016 22:40:54 +0200
4 files changed,
59 insertions(+),
5 deletions(-)
M
config.js
→
config.js
@@ -1,8 +1,8 @@
module.exports = { - /*'secret': process.env.SECRET,// production version - 'database': process.env.MONGO_DSN,*/ - 'secret': 'secretfortoken',// local version - 'database': 'mongodb://localhost/comunalcar', + 'secret': process.env.SECRET,// production version + 'database': process.env.MONGO_DSN, + /*'secret': 'secretfortoken',// local version + 'database': 'mongodb://localhost/comunalcar',*/ "port" : process.env.PORT || 3000 };
M
controllers/userController.js
→
controllers/userController.js
@@ -86,6 +86,48 @@ res.status(200).jsonp(user);
}); }; +/* fav */ +exports.addFav = function(req, res) { + userModel.findById(req.params.userId, function(err, user){ + var fav = { + userId: req.body.userId, + username: req.body.username, + avatar: req.body.avatar + }; + user.favs.push(fav); + + user.save(function(err, user) { + if(err) return res.send(500, err.message); + //res.status(200).jsonp(travel); + userModel.find(function(err, users) { + if(err) res.send(500, err.message); + res.status(200).jsonp(users); + }); + }); + }); +}; +exports.doUnfav = function(req, res) { + + userModel.findById(req.params.userId, function(err, user){ + for(var i=0; i<user.favs.length; i++) + { + if(user.favs[i].username==req.body.username) + { + user.favs.splice(i, 1); + } + } + + user.save(function(err, travel) { + if(err) return res.send(500, err.message); + //res.status(200).jsonp(travel); + userModel.find(function(err, users) { + if(err) res.send(500, err.message); + res.status(200).jsonp(users); + }); + }); + }); +}; + //PUT - Update a user already exists exports.updateUser = function(req, res) { userModel.findById(req.params.id, function(err, user) {@@ -145,12 +187,14 @@ //expiresIn: '60m'
}); console.log(user); // return the information including token as JSON + user.password=""; res.json({ success: true, message: 'Enjoy your token!', token: token, avatar: user.avatar, - userid: user._id + userid: user._id, + userdata: user }); }
M
models/userModel.js
→
models/userModel.js
@@ -16,6 +16,11 @@ valorations: [{
username: { type: String }, value: { type: Number }, comment: { type: String } + }], + favs: [{ + username: { type: String }, + userId: { type: String }, + avatar: { type: String } }] })
M
server.js
→
server.js
@@ -132,6 +132,11 @@ .post(travelCtrl.addJoin);
apiRoutes.route('/travels/:travelId/unjoin') .post(travelCtrl.doUnjoin); +apiRoutes.route('/users/:userId/fav') + .post(userCtrl.addFav); +apiRoutes.route('/users/:userId/unfav') + .post(userCtrl.doUnfav); + apiRoutes.route('/travels/:travelId/comment') .post(travelCtrl.addComment);