user fav system implemented

This commit is contained in:
idoctnef
2016-10-06 22:40:54 +02:00
parent 408812b265
commit 29091426a4
4 changed files with 59 additions and 5 deletions

View File

@@ -1,8 +1,8 @@
module.exports = { module.exports = {
/*'secret': process.env.SECRET,// production version 'secret': process.env.SECRET,// production version
'database': process.env.MONGO_DSN,*/ 'database': process.env.MONGO_DSN,
'secret': 'secretfortoken',// local version /*'secret': 'secretfortoken',// local version
'database': 'mongodb://localhost/comunalcar', 'database': 'mongodb://localhost/comunalcar',*/
"port" : process.env.PORT || 3000 "port" : process.env.PORT || 3000
}; };

View File

@@ -86,6 +86,48 @@ exports.addUser = function(req, res) {
}); });
}; };
/* 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 //PUT - Update a user already exists
exports.updateUser = function(req, res) { exports.updateUser = function(req, res) {
userModel.findById(req.params.id, function(err, user) { userModel.findById(req.params.id, function(err, user) {
@@ -145,12 +187,14 @@ exports.login = function(req, res) {
}); });
console.log(user); console.log(user);
// return the information including token as JSON // return the information including token as JSON
user.password="";
res.json({ res.json({
success: true, success: true,
message: 'Enjoy your token!', message: 'Enjoy your token!',
token: token, token: token,
avatar: user.avatar, avatar: user.avatar,
userid: user._id userid: user._id,
userdata: user
}); });
} }

View File

@@ -16,6 +16,11 @@ var userSchema = new Schema({
username: { type: String }, username: { type: String },
value: { type: Number }, value: { type: Number },
comment: { type: String } comment: { type: String }
}],
favs: [{
username: { type: String },
userId: { type: String },
avatar: { type: String }
}] }]
}) })

View File

@@ -132,6 +132,11 @@ apiRoutes.route('/travels/:travelId/join')
apiRoutes.route('/travels/:travelId/unjoin') apiRoutes.route('/travels/:travelId/unjoin')
.post(travelCtrl.doUnjoin); .post(travelCtrl.doUnjoin);
apiRoutes.route('/users/:userId/fav')
.post(userCtrl.addFav);
apiRoutes.route('/users/:userId/unfav')
.post(userCtrl.doUnfav);
apiRoutes.route('/travels/:travelId/comment') apiRoutes.route('/travels/:travelId/comment')
.post(travelCtrl.addComment); .post(travelCtrl.addComment);