mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-14 09:55:47 +01:00
Merge branch 'master' of https://github.com/designcreateplay/NodeBB
This commit is contained in:
@@ -217,13 +217,7 @@ var db = require('./database'),
|
|||||||
};
|
};
|
||||||
|
|
||||||
Categories.hasReadCategory = function(cid, uid, callback) {
|
Categories.hasReadCategory = function(cid, uid, callback) {
|
||||||
db.isSetMember('cid:' + cid + ':read_by_uid', uid, function(err, hasRead) {
|
db.isSetMember('cid:' + cid + ':read_by_uid', uid, callback);
|
||||||
if(err) {
|
|
||||||
return callback(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
callback(hasRead);
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
Categories.getRecentReplies = function(cid, uid, count, callback) {
|
Categories.getRecentReplies = function(cid, uid, count, callback) {
|
||||||
|
|||||||
@@ -469,6 +469,24 @@
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module.isSetMembers = function(key, values, callback) {
|
||||||
|
for (var i=0; i<values.length; ++i) {
|
||||||
|
values[i] = toString(values[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
db.collection('objects').findOne({_key:key, members: {$in : values}}, function(err, items) {
|
||||||
|
if (err) {
|
||||||
|
return callback(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
values = values.map(function(value) {
|
||||||
|
return items.members.indexOf(value) !== -1
|
||||||
|
});
|
||||||
|
|
||||||
|
callback(null, values);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
module.isMemberOfSets = function(sets, value, callback) {
|
module.isMemberOfSets = function(sets, value, callback) {
|
||||||
|
|
||||||
value = toString(value);
|
value = toString(value);
|
||||||
|
|||||||
@@ -305,14 +305,32 @@
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
module.isMemberOfSets = function(sets, value, callback) {
|
module.isSetMembers = function(key, values, callback) {
|
||||||
var batch = redisClient.multi();
|
var multi = redisClient.multi();
|
||||||
|
for (var i=0; i<values.length; ++i) {
|
||||||
for (var i = 0, ii = sets.length; i < ii; i++) {
|
multi.sismember(key, values[i]);
|
||||||
batch.sismember(sets[i], value);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
batch.exec(callback);
|
multi.exec(function(err, results) {
|
||||||
|
if (err) {
|
||||||
|
return callback(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i=0; i<results.length; ++i) {
|
||||||
|
results[i] = results[i] === 1;
|
||||||
|
}
|
||||||
|
callback(null, results);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
module.isMemberOfSets = function(sets, value, callback) {
|
||||||
|
var multi = redisClient.multi();
|
||||||
|
|
||||||
|
for (var i = 0, ii = sets.length; i < ii; i++) {
|
||||||
|
multi.sismember(sets[i], value);
|
||||||
|
}
|
||||||
|
|
||||||
|
multi.exec(callback);
|
||||||
};
|
};
|
||||||
|
|
||||||
module.getSetMembers = function(key, callback) {
|
module.getSetMembers = function(key, callback) {
|
||||||
|
|||||||
Reference in New Issue
Block a user