arnaucube
arnaucube/openEventsPlatformServerPublic Self-hosted repository
getEventsByFollowingArray done, and deleteEvent done
arnaucode idoctnef@openmailbox.org
Sun, 12 Feb 2017 17:29:10 +0100
commit

b62ddb37bc83e8383a14b97b5d0e13852a98315a

parent

b0f414d62111230e8f78f55bd799cd312a452902

2 files changed, 40 insertions(+), 1 deletions(-)

jump to
M controllers/eventController.js → controllers/eventController.js

@@ -65,18 +65,53 @@ });//end of event.save

} });//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:
M server.js → 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.route('/events') .post(eventCtrl.addEvent); +apiRoutes.route('/events/id/:eventid') + .delete(eventCtrl.deleteEvent); app.use('/api', apiRoutes); // end of API routes -------------------------------------