From df4b555717f2bc3b3c36980d5f60e0f314a21e6d Mon Sep 17 00:00:00 2001 From: barisusakli Date: Tue, 4 Nov 2014 18:31:21 -0500 Subject: [PATCH] less db calls no db call for settings if uid 0 no db call for isFollowing if uid 0 --- src/topics/follow.js | 3 +++ src/user/settings.js | 30 +++++++++++++++++------------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/src/topics/follow.js b/src/topics/follow.js index 1fe053e794..6a0e2b97f8 100644 --- a/src/topics/follow.js +++ b/src/topics/follow.js @@ -15,6 +15,9 @@ module.exports = function(Topics) { Topics.isFollowing = function(tid, uid, callback) { + if (!parseInt(uid, 10)) { + return callback(null, false); + } db.isSetMember('tid:' + tid + ':followers', uid, callback); }; diff --git a/src/user/settings.js b/src/user/settings.js index 9f75c7f1f4..99ca426d20 100644 --- a/src/user/settings.js +++ b/src/user/settings.js @@ -1,24 +1,16 @@ 'use strict'; -var meta = require('./../meta'), - db = require('./../database'), - plugins = require('./../plugins'); +var meta = require('../meta'), + db = require('../database'), + plugins = require('../plugins'); module.exports = function(User) { User.getSettings = function(uid, callback) { - db.getObject('user:' + uid + ':settings', function(err, settings) { - if(err) { - return callback(err); - } - - if(!settings) { - settings = {}; - } - + function onSettingsLoaded(settings) { plugins.fireHook('filter:user.getSettings', {uid: uid, settings: settings}, function(err, data) { - if(err) { + if (err) { return callback(err); } @@ -41,6 +33,18 @@ module.exports = function(User) { callback(null, settings); }); + } + + if (!parseInt(uid, 10)) { + return onSettingsLoaded({}); + } + + db.getObject('user:' + uid + ':settings', function(err, settings) { + if (err) { + return callback(err); + } + + onSettingsLoaded(settings ? settings : {}); }); };