From 770cea93290eaaf9a6994d0e93b2dd66e426baf8 Mon Sep 17 00:00:00 2001 From: Baris Soner Usakli Date: Sat, 14 Dec 2013 16:29:33 -0500 Subject: [PATCH] added more error first to some functions --- src/posts.js | 22 +++++++++++++++------- src/routes/user.js | 16 +++++++++++----- src/user.js | 17 +++++++---------- 3 files changed, 33 insertions(+), 22 deletions(-) diff --git a/src/posts.js b/src/posts.js index 6beabd964f..74c9e2fb0f 100644 --- a/src/posts.js +++ b/src/posts.js @@ -449,8 +449,9 @@ var db = require('./database'), Posts.uploadPostImage = function(image, callback) { - if(!image) + if(!image) { return callback('invalid image', null); + } require('./imgur').upload(meta.config.imgurClientID, image.data, 'base64', function(err, data) { if(err) { @@ -465,22 +466,29 @@ var db = require('./database'), } Posts.getPostsByUid = function(uid, start, end, callback) { - user.getPostIds(uid, start, end, function(pids) { + user.getPostIds(uid, start, end, function(err, pids) { + if(err) { + return callback(err); + } if (pids && pids.length) { plugins.fireHook('filter:post.getTopic', pids, function(err, posts) { + if(err) { + return callback(err); + } - if (!err & 0 < posts.length) { + if (posts && posts.length) { Posts.getPostsByPids(pids, function(err, posts) { plugins.fireHook('action:post.gotTopic', posts); - callback(posts); + callback(null, posts); }); } else { - callback(posts); + callback(null, []); } }); - } else - callback([]); + } else { + callback(null, []); + } }); } diff --git a/src/routes/user.js b/src/routes/user.js index a978e50eee..d7b88ff03e 100644 --- a/src/routes/user.js +++ b/src/routes/user.js @@ -181,7 +181,7 @@ var fs = require('fs'), user.setUserField(uid, 'picture', imageUrl); if (convertToPNG) { - im.convert([uploadPath, 'png:-'], + im.convert([uploadPath, 'png:-'], function(err, stdout){ if (err) { winston.err(err); @@ -191,10 +191,10 @@ var fs = require('fs'), return; } - fs.writeFileSync(uploadPath, stdout, 'binary'); + fs.writeFileSync(uploadPath, stdout, 'binary'); }); } - + res.json({ path: imageUrl @@ -393,18 +393,24 @@ var fs = require('fs'), }); }); - app.get('/api/user/:userslug', function (req, res) { + app.get('/api/user/:userslug', function (req, res, next) { var callerUID = req.user ? req.user.uid : '0'; getUserDataByUserSlug(req.params.userslug, callerUID, function (userData) { if (userData) { user.isFollowing(callerUID, userData.theirid, function (isFollowing) { - posts.getPostsByUid(userData.theirid, 0, 9, function (posts) { + posts.getPostsByUid(userData.theirid, 0, 9, function (err, posts) { + + if(err) { + return next(err); + } userData.posts = posts.filter(function (p) { return p && parseInt(p.deleted, 10) !== 1; }); + userData.isFollowing = isFollowing; + if (!userData.profileviews) { userData.profileviews = 1; } diff --git a/src/user.js b/src/user.js index bfd8f47826..fd6a6eea31 100644 --- a/src/user.js +++ b/src/user.js @@ -444,21 +444,18 @@ var bcrypt = require('bcrypt'), User.getPostIds = function(uid, start, stop, callback) { db.getListRange('uid:' + uid + ':posts', start, stop, function(err, pids) { - if (!err) { - if (pids && pids.length) { - callback(pids); - } else { - callback([]); - } + if(err) { + return callback(err); + } + + if (pids && pids.length) { + callback(null, pids); } else { - console.log(err); - callback([]); + callback(null, []); } }); }; - - User.follow = function(uid, followid, callback) { db.setAdd('following:' + uid, followid, function(err, data) { if (!err) {