From 1cd441d7e81f75afdb29b3df3fe31eeebc6f41db Mon Sep 17 00:00:00 2001 From: Evan Date: Sun, 6 Dec 2015 21:17:09 -0500 Subject: [PATCH 1/3] Added all error handling for posts and events --- routes/events.js | 36 ++++++++++++++++++------------------ routes/post.js | 27 +++++++++++++++------------ 2 files changed, 33 insertions(+), 30 deletions(-) diff --git a/routes/events.js b/routes/events.js index bebf381..a224618 100644 --- a/routes/events.js +++ b/routes/events.js @@ -12,18 +12,18 @@ module.exports = function(app) { var auth_token = req.get('Authorization'); jwt.verify(auth_token, app.get('superSecret'), function(err, userId) { if (err) { - console.log(err); - res.sendStatus(500); + console.log('Error verifying auth token:', err); + res.status(500).send(err); } User.findById(userId, function(error, user) { if (error) { - console.log(error); - res.sendStatus(500); + console.log('Error finding user by ID:', error); + res.status(500).send(error); } eventServices.createEvent(req.body, user.tier, function(createErr, event) { if (createErr) { - console.log(createErr); - res.sendStatus(500); + console.log('Error creating event:', createErr); + res.status(500).send(createErr); } else { console.log('New event created: ' + event); res.json({ @@ -39,18 +39,18 @@ module.exports = function(app) { var auth_token = req.get('Authorization'); jwt.verify(auth_token, app.get('superSecret'), function(err, userId) { if (err) { - console.log(err); - res.sendStatus(500); + console.log('Error verifying auth token:', err); + res.status(500).send(err); } User.findById(userId, function(error, user) { if (error) { - console.log(error); - res.sendStatus(500); + console.log('Error finding user by ID:', error); + res.status(500).send(error); } eventServices.findAllEventsInTier(user.tier, function(err, events) { if (err) { - console.error(err); - res.sendStatus(500); + console.error('Error finding all events in tier:', err); + res.status(500).send(err); } else { console.log(events); res.json({ @@ -84,8 +84,8 @@ module.exports = function(app) { jwt.verify(auth_token, app.get('superSecret'), function(error, userId) { eventServices.findOneEvent(req.params.id, function(err, evnt) { if (err) { - console.log(err); - res.sendStatus(500); + console.log('Error finding one event:', err); + res.status(500).send(err); } else { var expandUser = function(userId, cb) { @@ -120,8 +120,8 @@ module.exports = function(app) { eventServices.findAllEvents(function(err, events) { if (err) { - console.log(err); - res.sendStatus(500); + console.log('Error finding all events:', err); + res.status(500).send(err); } else { // not logging here since data might be massive @@ -137,8 +137,8 @@ module.exports = function(app) { eventServices.findAllEventsInTier(function(err, tier, events) { if (err) { - console.log(err); - res.sendStatus(500); + console.log('Error finding all events in tier:', err); + res.status(500).send(err); } else { res.json({ events: events diff --git a/routes/post.js b/routes/post.js index eb342f9..8677d82 100644 --- a/routes/post.js +++ b/routes/post.js @@ -6,23 +6,25 @@ var postServices = require('../services/postServices'); module.exports = function(app) { - // Expects form data in the form of: - // { - // authorId: String, - // content: String - // } + /* Expects form data in the form of: + { + authorId: String, + content: String + } + */ app.post('/posts/create', function(req, res, next) { var auth_token = req.get('Authorization'); jwt.verify(auth_token, app.get('superSecret'), function(error, userId) { User.findById(userId, function(error, user) { if (error) { + console.log('Error finding by ID:', error); res.status(500).send(error); } else if (user) { req.body.authorId = user._id; postServices.createPost(req.body, user.tier, function(err, post) { if (err) { - console.log(err); - res.sendStatus(500); + console.log('Error creating post:', err); + res.status(500).send(err); } else { User.findById(post.authorId, function(error, author) { var newPost = post.toObject(); @@ -46,17 +48,18 @@ module.exports = function(app) { var lastTimestamp = req.query.lastTimestamp; jwt.verify(auth_token, app.get('superSecret'), function(err, userId) { if (err) { - console.log(err); - res.sendStatus(500); + console.log('Error verifying auth token:', err); + res.status(500).send(err); } else { User.findById(userId, function(error, user) { if (error) { - console.log(error); - res.sendStatus(500); + console.log('Error finding by ID:', error); + res.status(500).send(error); } postServices.findAllPosts(user.tier, limit, lastTimestamp, function(err, posts) { if (err) { - res.status(500).send(err); + console.log('Error finding all posts:', err); + res.status(500).send(err); return; } From 33240365518b0ab98e3c9f587f530052f32b2ec0 Mon Sep 17 00:00:00 2001 From: Evan Date: Sun, 6 Dec 2015 21:35:56 -0500 Subject: [PATCH 2/3] Fixed issues with error handling --- routes/events.js | 14 +++++++------- routes/post.js | 10 +++++----- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/routes/events.js b/routes/events.js index a224618..77bb95a 100644 --- a/routes/events.js +++ b/routes/events.js @@ -13,7 +13,7 @@ module.exports = function(app) { jwt.verify(auth_token, app.get('superSecret'), function(err, userId) { if (err) { console.log('Error verifying auth token:', err); - res.status(500).send(err); + res.status(401).send(err); } User.findById(userId, function(error, user) { if (error) { @@ -40,17 +40,17 @@ module.exports = function(app) { jwt.verify(auth_token, app.get('superSecret'), function(err, userId) { if (err) { console.log('Error verifying auth token:', err); - res.status(500).send(err); + res.status(401).send(err); } User.findById(userId, function(error, user) { if (error) { console.log('Error finding user by ID:', error); res.status(500).send(error); } - eventServices.findAllEventsInTier(user.tier, function(err, events) { - if (err) { - console.error('Error finding all events in tier:', err); - res.status(500).send(err); + eventServices.findAllEventsInTier(user.tier, function(errEvents, events) { + if (errEvents) { + console.error('Error finding all events in tier:', errEvents); + res.status(500).send(errEvents); } else { console.log(events); res.json({ @@ -66,7 +66,7 @@ module.exports = function(app) { app.post('/events/:id/rsvp', function(req, res, next) { var auth_token = req.get('Authorization'); jwt.verify(auth_token, app.get('superSecret'), function(error, userId) { - if (error) res.status(500).send("User not logged in: " + error); + if (error) res.status(401).send("User not logged in: " + error); eventServices.rsvpToEvent(req.params.id, req.body.rsvp, userId, function(err, evnt) { if (err) res.status(500).send("Could not rsvp to event: " + err); diff --git a/routes/post.js b/routes/post.js index 8677d82..22ecbe6 100644 --- a/routes/post.js +++ b/routes/post.js @@ -16,9 +16,9 @@ module.exports = function(app) { var auth_token = req.get('Authorization'); jwt.verify(auth_token, app.get('superSecret'), function(error, userId) { User.findById(userId, function(error, user) { - if (error) { + if (error) { console.log('Error finding by ID:', error); - res.status(500).send(error); + res.status(500).send(error); } else if (user) { req.body.authorId = user._id; postServices.createPost(req.body, user.tier, function(err, post) { @@ -26,7 +26,7 @@ module.exports = function(app) { console.log('Error creating post:', err); res.status(500).send(err); } else { - User.findById(post.authorId, function(error, author) { + User.findById(post.authorId, function(errorById, author) { var newPost = post.toObject(); newPost.displayName = author.firstName + " " + author.lastName; res.json({ @@ -49,7 +49,7 @@ module.exports = function(app) { jwt.verify(auth_token, app.get('superSecret'), function(err, userId) { if (err) { console.log('Error verifying auth token:', err); - res.status(500).send(err); + res.status(401).send(err); } else { User.findById(userId, function(error, user) { if (error) { @@ -59,7 +59,7 @@ module.exports = function(app) { postServices.findAllPosts(user.tier, limit, lastTimestamp, function(err, posts) { if (err) { console.log('Error finding all posts:', err); - res.status(500).send(err); + res.status(500).send(err); return; } From 9f970f7f72c92e09ed0578bd0e94d9323878c483 Mon Sep 17 00:00:00 2001 From: Evan Walsh Date: Sun, 6 Dec 2015 21:38:35 -0500 Subject: [PATCH 3/3] Fixed spacing issue --- routes/events.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/routes/events.js b/routes/events.js index 77bb95a..d81270c 100644 --- a/routes/events.js +++ b/routes/events.js @@ -18,7 +18,7 @@ module.exports = function(app) { User.findById(userId, function(error, user) { if (error) { console.log('Error finding user by ID:', error); - res.status(500).send(error); + res.status(500).send(error); } eventServices.createEvent(req.body, user.tier, function(createErr, event) { if (createErr) {