allow admins mods to watch/ignore categories for other users

This commit is contained in:
Baris Usakli
2018-10-05 14:37:44 -04:00
parent 5f49a1d82c
commit 6dc84deca9
2 changed files with 11 additions and 3 deletions

View File

@@ -174,9 +174,17 @@ SocketCategories.ignore = function (socket, cid, callback) {
};
function ignoreOrWatch(fn, socket, cid, callback) {
var targetUid = socket.uid;
var cids = [parseInt(cid, 10)];
if (typeof cid === 'object') {
targetUid = cid.uid;
cids = [parseInt(cid.cid, 10)];
}
async.waterfall([
function (next) {
user.isAdminOrGlobalModOrSelf(socket.uid, targetUid, next);
},
function (next) {
db.getSortedSetRange('categories:cid', 0, -1, next);
},
@@ -201,11 +209,11 @@ function ignoreOrWatch(fn, socket, cid, callback) {
} while (cat);
async.each(cids, function (cid, next) {
fn(socket.uid, cid, next);
fn(targetUid, cid, next);
}, next);
},
function (next) {
topics.pushUnreadCount(socket.uid, next);
topics.pushUnreadCount(targetUid, next);
},
function (next) {
next(null, cids);