diff --git a/controllers/eventController.js b/controllers/eventController.js index e7cb209..b6dc0d6 100644 --- a/controllers/eventController.js +++ b/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 diff --git a/server.js b/server.js index 8e7f607..490014b 100644 --- a/server.js +++ b/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 -------------------------------------