v1.18.x
Barış Soner Uşaklı 10 years ago
parent d39c2924e4
commit c7b5cd48ba

@ -12,6 +12,8 @@ var async = require('async'),
module.exports = function(Topics) {
var unreadCutoff = 86400000;
Topics.getTotalUnread = function(uid, callback) {
Topics.getUnreadTids(uid, 0, 20, function(err, tids) {
callback(err, tids ? tids.length : 0);
@ -54,17 +56,17 @@ module.exports = function(Topics) {
return callback(null, []);
}
var yesterday = Date.now() - 86400000;
var cutoff = Date.now() - unreadCutoff;
async.parallel({
ignoredCids: function(next) {
user.getIgnoredCategories(uid, next);
},
recentTids: function(next) {
db.getSortedSetRevRangeByScoreWithScores('topics:recent', 0, -1, '+inf', yesterday, next);
db.getSortedSetRevRangeByScoreWithScores('topics:recent', 0, -1, '+inf', cutoff, next);
},
userScores: function(next) {
db.getSortedSetRevRangeByScoreWithScores('uid:' + uid + ':tids_read', 0, -1, '+inf', yesterday, next);
db.getSortedSetRevRangeByScoreWithScores('uid:' + uid + ':tids_read', 0, -1, '+inf', cutoff, next);
}
}, function(err, results) {
if (err) {
@ -247,8 +249,9 @@ module.exports = function(Topics) {
if (err) {
return callback(err);
}
var cutoff = Date.now() - unreadCutoff;
var result = tids.map(function(tid, index) {
return !!(results.userScores[index] && results.userScores[index] >= results.recentScores[index]);
return results.recentScores[index] < cutoff || !!(results.userScores[index] && results.userScores[index] >= results.recentScores[index]);
});
callback(null, result);

Loading…
Cancel
Save