mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-06 14:05:46 +01:00
tweaks to whitelist (interim commit)
This commit is contained in:
@@ -129,21 +129,27 @@ var user = require('./../user.js'),
|
|||||||
app.get('/category/:id/:slug?', function (req, res, next) {
|
app.get('/category/:id/:slug?', function (req, res, next) {
|
||||||
var uid = (req.user) ? req.user.uid : 0;
|
var uid = (req.user) ? req.user.uid : 0;
|
||||||
|
|
||||||
// Category Whitelisting
|
// Category Whitelisting (support for "-r" to come later)
|
||||||
Groups.exists('category:' + req.params.id + ':whitelist', function(err, exists) {
|
var whitelistReadKey = 'cid:' + req.params.id + ':permissions:+r',
|
||||||
if (!err && exists) {
|
success = function() {
|
||||||
Groups.isMember(uid, gid, function(err, isMember) {
|
|
||||||
if (!err && isMember) {
|
|
||||||
categories.getCategoryById(req.params.id, uid, function (err, data) {
|
categories.getCategoryById(req.params.id, uid, function (err, data) {
|
||||||
if (!err && data && data.disabled === "0")
|
if (!err && data && data.disabled === "0")
|
||||||
res.json(data);
|
res.json(data);
|
||||||
else
|
else
|
||||||
next();
|
next();
|
||||||
}, req.params.id, uid);
|
}, req.params.id, uid);
|
||||||
|
};
|
||||||
|
Groups.exists(whitelistReadKey, function(err, exists) {
|
||||||
|
if (!err && exists) {
|
||||||
|
Groups.isMemberByGroupName(uid, whitelistReadKey, function(err, isMember) {
|
||||||
|
if (!err && isMember) {
|
||||||
|
success();
|
||||||
} else {
|
} else {
|
||||||
res.send(403);
|
res.send(403);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
} else if (!err && !exists) {
|
||||||
|
success();
|
||||||
} else {
|
} else {
|
||||||
res.send(403);
|
res.send(403);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user