fix: on new post add it to cid::uid::pids

This commit is contained in:
Barış Soner Uşaklı
2019-06-24 17:26:28 -04:00
parent 26ff02dc72
commit 6a7bc1c5fb
2 changed files with 11 additions and 10 deletions

View File

@@ -64,6 +64,10 @@ module.exports = function (Posts) {
db.setObject('post:' + postData.pid, postData, next);
},
function (next) {
topics.getTopicFields(tid, ['cid', 'pinned'], next);
},
function (topicData, next) {
postData.cid = topicData.cid;
async.parallel([
function (next) {
user.onNewPostMade(postData, next);
@@ -72,13 +76,7 @@ module.exports = function (Posts) {
topics.onNewPostMade(postData, next);
},
function (next) {
topics.getTopicFields(tid, ['cid', 'pinned'], function (err, topicData) {
if (err) {
return next(err);
}
postData.cid = topicData.cid;
categories.onNewPostMade(topicData.cid, topicData.pinned, postData, next);
});
},
function (next) {
groups.onNewPostMade(postData, next);

View File

@@ -69,7 +69,7 @@ module.exports = function (User) {
User.onNewPostMade = function (postData, callback) {
async.series([
function (next) {
User.addPostIdToUser(postData.uid, postData.pid, postData.timestamp, next);
User.addPostIdToUser(postData, next);
},
function (next) {
User.incrementUserPostCountBy(postData.uid, 1, next);
@@ -83,8 +83,11 @@ module.exports = function (User) {
], callback);
};
User.addPostIdToUser = function (uid, pid, timestamp, callback) {
db.sortedSetAdd('uid:' + uid + ':posts', timestamp, pid, callback);
User.addPostIdToUser = function (postData, callback) {
db.sortedSetsAdd([
'uid:' + postData.uid + ':posts',
'cid:' + postData.cid + ':uid:' + postData.uid + ':pids',
], postData.timestamp, postData.pid, callback);
};
User.incrementUserPostCountBy = function (uid, value, callback) {