mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 03:26:04 +01:00
updated topic viewing so that markAsRead marks any relevant notifications read (issue #219)
This commit is contained in:
@@ -7,6 +7,7 @@ var RDB = require('./redis.js')
|
||||
posts = require('./posts.js'),
|
||||
threadTools = require('./threadTools.js'),
|
||||
postTools = require('./postTools'),
|
||||
Notifications = require('./notifications'),
|
||||
async = require('async'),
|
||||
feed = require('./feed.js'),
|
||||
favourites = require('./favourites.js'),
|
||||
@@ -511,6 +512,14 @@ var RDB = require('./redis.js')
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
user.notifications.getUnreadByUniqueId(uid, 'topic:' + tid, function(err, nids) {
|
||||
if (nids.length > 0) {
|
||||
async.each(nids, function(nid, next) {
|
||||
Notifications.mark_read(nid, uid, next);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Topics.hasReadTopics = function(tids, uid, callback) {
|
||||
|
||||
12
src/user.js
12
src/user.js
@@ -985,6 +985,18 @@ var utils = require('./../public/src/utils.js'),
|
||||
},
|
||||
getUnreadCount: function(uid, callback) {
|
||||
RDB.zcount('uid:' + uid + ':notifications:unread', 0, 10, callback);
|
||||
},
|
||||
getUnreadByUniqueId: function(uid, uniqueId, callback) {
|
||||
RDB.zrange('uid:' + uid + ':notifications:unread', 0, -1, function(err, nids) {
|
||||
async.filter(nids, function(nid, next) {
|
||||
notifications.get(nid, function(notifObj) {
|
||||
if (notifObj.uniqueId === uniqueId) next(true);
|
||||
else next(false);
|
||||
});
|
||||
}, function(nids) {
|
||||
callback(null, nids);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}(exports));
|
||||
|
||||
Reference in New Issue
Block a user