first pass for #1518

this only handles postTools privileges, topic and category will follow
This commit is contained in:
barisusakli
2014-05-14 17:53:23 -04:00
parent ec5cdd178a
commit 4234057821
8 changed files with 220 additions and 67 deletions

View File

@@ -6,6 +6,7 @@ var db = require('./database'),
topics = require('./topics'),
favourites = require('./favourites'),
postTools = require('./postTools'),
privileges = require('./privileges'),
categories = require('./categories'),
plugins = require('./plugins'),
meta = require('./meta'),
@@ -163,8 +164,8 @@ var db = require('./database'),
}
async.filter(pids, function(pid, next) {
postTools.privileges(pid, callerUid, function(err, privileges) {
next(!err && privileges.meta.read);
privileges.posts.canRead(pid, callerUid, function(err, canRead) {
next(!err && canRead);
});
}, function(pids) {
if (!(pids && pids.length)) {
@@ -215,8 +216,8 @@ var db = require('./database'),
}
async.filter(pids, function(pid, next) {
postTools.privileges(pid, uid, function(err, privileges) {
next(!err && privileges.meta.read);
privileges.posts.canRead(pid, uid, function(err, canRead) {
next(!err && canRead);
});
}, function(pids) {
Posts.getPostSummaryByPids(pids, true, callback);
@@ -481,4 +482,14 @@ var db = require('./database'),
});
};
Posts.isOwner = function(pid, uid, callback) {
Posts.getPostField(pid, 'uid', function(err, author) {
if (err) {
return callback(err);
}
callback(null, parseInt(author, 10) === parseInt(uid, 10));
});
};
}(exports));