all files / src/controllers/admin/ flags.js

27.78% Statements 5/18
0% Branches 0/10
0% Functions 0/3
27.78% Lines 5/18
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39                                                                   
"use strict";
 
var async = require('async');
var posts = require('../../posts');
 
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) {
			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);
			}
		}
	], function (err, posts) {
		if (err) {
			return next(err);
		}
		var data = {
			posts: posts, 
			next: stop + 1, 
			byUsername: byUsername,
			title: '[[pages:flagged-posts]]'
		};
		res.render('admin/manage/flags', data);
	});
};
 
 
module.exports = flagsController;