From 52c12fa1b1afe909d4e2655f9dcf3eae896bf774 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Fri, 14 Nov 2014 20:19:10 -0500 Subject: [PATCH] use wrapper functions getPostsFields and getTopicsFields --- src/categories/activeusers.js | 17 +++++++---------- src/categories/recentreplies.js | 5 +---- src/privileges/topics.js | 6 +----- src/socket.io/topics.js | 6 +----- src/topics.js | 6 +----- src/topics/popular.js | 6 +----- src/topics/teaser.js | 7 ++----- src/topics/user.js | 17 +++++++---------- 8 files changed, 21 insertions(+), 49 deletions(-) diff --git a/src/categories/activeusers.js b/src/categories/activeusers.js index 2debf62e4b..6ba4b77308 100644 --- a/src/categories/activeusers.js +++ b/src/categories/activeusers.js @@ -1,6 +1,7 @@ 'use strict'; var async = require('async'), + posts = require('../posts'), db = require('../database'); module.exports = function(Categories) { @@ -11,17 +12,13 @@ module.exports = function(Categories) { db.getSortedSetRevRange('cid:' + cid + ':pids', 0, 24, next); }, function(pids, next) { - var keys = pids.map(function(pid) { - return 'post:' + pid; - }); - - db.getObjectsFields(keys, ['uid'], next); + posts.getPostsFields(pids, ['uid'], next); }, - function(users, next) { - var uids = users.map(function(user) { - return user.uid; - }).filter(function(value, index, array) { - return parseInt(value, 10) !== 0 && array.indexOf(value) === index; + function(posts, next) { + var uids = posts.map(function(post) { + return post.uid; + }).filter(function(uid, index, array) { + return parseInt(uid, 10) !== 0 && array.indexOf(uid) === index; }).slice(0, 24); callback(null, uids); diff --git a/src/categories/recentreplies.js b/src/categories/recentreplies.js index 8103668fdf..4dfcf86fa5 100644 --- a/src/categories/recentreplies.js +++ b/src/categories/recentreplies.js @@ -135,11 +135,8 @@ module.exports = function(Categories) { done = true; return next(); } - var keys = movePids.map(function(pid) { - return 'post:' + pid; - }); - db.getObjectsFields(keys, ['timestamp'], function(err, postData) { + posts.getPostsFields(movePids, ['timestamp'], function(err, postData) { if (err) { return next(err); } diff --git a/src/privileges/topics.js b/src/privileges/topics.js index 3ad5539fc8..e3372cb19d 100644 --- a/src/privileges/topics.js +++ b/src/privileges/topics.js @@ -68,11 +68,7 @@ module.exports = function(privileges) { return callback(null, []); } - var keys = tids.map(function(tid) { - return 'topic:' + tid; - }); - - db.getObjectsFields(keys, ['tid', 'cid'], function(err, topics) { + topics.getTopicsFields(tids, ['tid', 'cid'], function(err, topics) { if (err) { return callback(err); } diff --git a/src/socket.io/topics.js b/src/socket.io/topics.js index 2448f032d1..6833604302 100644 --- a/src/socket.io/topics.js +++ b/src/socket.io/topics.js @@ -126,11 +126,7 @@ SocketTopics.markCategoryTopicsRead = function(socket, cid, callback) { return callback(err); } - var keys = tids.map(function(tid) { - return 'topic:' + tid; - }); - - db.getObjectsFields(keys, ['tid', 'cid'], function(err, topicData) { + topics.getTopicsFields(tids, ['tid', 'cid'], function(err, topicData) { if (err) { return callback(err); } diff --git a/src/topics.js b/src/topics.js index cbdac6bed2..5d16f54ec0 100644 --- a/src/topics.js +++ b/src/topics.js @@ -286,11 +286,7 @@ var async = require('async'), }; Topics.getMainPosts = function(tids, uid, callback) { - var keys = tids.map(function(tid) { - return 'topic:' + tid; - }); - - db.getObjectsFields(keys, ['mainPid'], function(err, topicData) { + Topics.getTopicsFields(tids, ['mainPid'], function(err, topicData) { if (err) { return callback(err); } diff --git a/src/topics/popular.js b/src/topics/popular.js index b6dba43017..f9a00ee03a 100644 --- a/src/topics/popular.js +++ b/src/topics/popular.js @@ -39,11 +39,7 @@ module.exports = function(Topics) { } function getTopics(tids, uid, count, callback) { - var keys = tids.map(function(tid) { - return 'topic:' + tid; - }); - - db.getObjectsFields(keys, ['tid', 'postcount'], function(err, topics) { + Topics.getTopicsFields(tids, ['tid', 'postcount'], function(err, topics) { if (err) { return callback(err); } diff --git a/src/topics/teaser.js b/src/topics/teaser.js index 22bbd7af22..ca5187c474 100644 --- a/src/topics/teaser.js +++ b/src/topics/teaser.js @@ -10,7 +10,6 @@ var async = require('async'), utils = require('../../public/src/utils'); - module.exports = function(Topics) { Topics.getTeasers = function(tids, uid, callback) { @@ -43,11 +42,9 @@ module.exports = function(Topics) { return callback(err); } - var postKeys = results.pids.filter(Boolean).map(function(pid) { - return 'post:' + pid; - }); + results.pids = results.pids.filter(Boolean); - db.getObjectsFields(postKeys, ['pid', 'uid', 'timestamp', 'tid'], function(err, postData) { + posts.getPostsFields(results.pids, ['pid', 'uid', 'timestamp', 'tid'], function(err, postData) { if (err) { return callback(err); } diff --git a/src/topics/user.js b/src/topics/user.js index 1d6bea9a28..64651c2fd1 100644 --- a/src/topics/user.js +++ b/src/topics/user.js @@ -2,7 +2,8 @@ 'use strict'; -var db = require('../database'); +var db = require('../database'), + posts = require('../posts'); module.exports = function(Topics) { @@ -23,19 +24,15 @@ module.exports = function(Topics) { return callback(err); } - var keys = pids.map(function(pid) { - return 'post:' + pid; - }); - - db.getObjectsFields(keys, ['uid'], function(err, data) { + posts.getPostsFields(pids, ['uid'], function(err, postData) { if (err) { return callback(err); } - var uids = data.map(function(data) { - return data.uid; - }).filter(function(uid, pos, array) { - return array.indexOf(uid) === pos; + var uids = postData.map(function(post) { + return post && post.uid; + }).filter(function(uid, index, array) { + return array.indexOf(uid) === index; }); callback(null, uids);