Browse Source

getEventsByFollowingArray done, and deleteEvent done

master
arnaucode 7 years ago
parent
commit
b62ddb37bc
2 changed files with 40 additions and 1 deletions
  1. +36
    -1
      controllers/eventController.js
  2. +4
    -0
      server.js

+ 36
- 1
controllers/eventController.js

@ -65,19 +65,54 @@ exports.addEvent = function(req, res) {
}
});//end of usermodel.find
};
exports.deleteEvent = function(req, res) {
userModel.findOne({'tokens.token': req.headers['x-access-token']})
.exec(function(err, user){
if (err) return res.send(500, err.message);
eventModel.findOne({
_id: req.params.eventid,
user: user._id
})
.exec(function(err, event) {
if (err) return res.send(500, err.message);
if(event.user.equals(user._id))
{
event.remove(function(err) {
if(err) return res.send(500, err.message);
console.log("deleted");
exports.getAllEvents(req, res);
});
}
});
});
};//funciona, pero no esborra les referències dels users als events que s'esborren. Més endavant caldria fer-ho.
/*
un get events by following, que seria:
s'envia un post /events/following
amb la data:
{
users: ['user1', 'user4', 'user8']
"following": ["user1", "user2", "user3"]
}
que bàsicament és una array amb els followings que tens
això retorna els events d'aquests users que segueixes
*/
exports.getEventsByFollowingArray = function(req, res) {
eventModel.find({
date: {$gte: new Date()},
'username': req.body.users
})
.sort('date')
.limit(pageSize)
.skip(pageSize * Number(req.query.page))
.exec(function (err, events) {
if (err) return res.send(500, err.message);
res.status(200).jsonp(events);
});
};
/*
un get events by categories, que seria:
s'envia un get /events/category/:category

+ 4
- 0
server.js

@ -61,6 +61,8 @@ apiRoutes.route('/events')
.get(eventCtrl.getAllEvents);
apiRoutes.route('/events/id/:eventid')
.get(eventCtrl.getEventById);
apiRoutes.route('/events/following')
.post(eventCtrl.getEventsByFollowingArray);
apiRoutes.route('/events/category/:category')
.get(eventCtrl.getEventsByCategory);
@ -98,6 +100,8 @@ apiRoutes.use(function(req, res, next) {
apiRoutes.route('/events')
.post(eventCtrl.addEvent);
apiRoutes.route('/events/id/:eventid')
.delete(eventCtrl.deleteEvent);
app.use('/api', apiRoutes);
// end of API routes -------------------------------------

Loading…
Cancel
Save