"use strict"; var async = require('async'), posts = require('../posts'), privileges = require('../privileges'), helpers = require('./helpers'), postsController = {}; postsController.getPost = function(req, res, next) { async.parallel({ canRead: function(next) { privileges.posts.can('read', req.params.pid, req.uid, next); }, postData: function(next) { posts.getPostData(req.params.pid, next); } }, function(err, results) { if (err) { return next(err); } if (!results.postData) { return helpers.notFound(req, res); } if (!results.canRead) { return helpers.notAllowed(req, res); } res.json(results.postData); }); }; module.exports = postsController;