Files
NodeBB/src/controllers/admin/flags.js
barisusakli 789a3736af closes #4820
2016-07-04 17:49:02 +03:00

48 lines
1.1 KiB
JavaScript

"use strict";
var async = require('async');
var posts = require('../../posts');
var analytics = require('../../analytics');
var flagsController = {};
flagsController.get = function(req, res, next) {
var sortBy = req.query.sortBy || 'count';
var byUsername = req.query.byUsername || '';
var start = 0;
var stop = 19;
async.waterfall([
function (next) {
async.parallel({
posts: function(next) {
if (byUsername) {
posts.getUserFlags(byUsername, sortBy, req.uid, start, stop, next);
} else {
var set = sortBy === 'count' ? 'posts:flags:count' : 'posts:flagged';
posts.getFlags(set, req.uid, start, stop, next);
}
},
analytics: function(next) {
analytics.getDailyStatsForSet('analytics:flags', Date.now(), 30, next);
}
}, next);
}
], function (err, results) {
if (err) {
return next(err);
}
var data = {
posts: results.posts,
analytics: results.analytics,
next: stop + 1,
byUsername: byUsername,
title: '[[pages:flagged-posts]]'
};
res.render('admin/manage/flags', data);
});
};
module.exports = flagsController;