Files
NodeBB/src/controllers/admin/errors.js

38 lines
839 B
JavaScript
Raw Normal View History

2016-05-24 22:01:46 -04:00
'use strict';
2016-05-24 23:04:57 -04:00
var async = require('async'),
json2csv = require('json-2-csv').json2csv;
2016-05-24 22:01:46 -04:00
var meta = require('../../meta'),
analytics = require('../../analytics');
var errorsController = {};
2016-08-16 19:46:59 +02:00
errorsController.get = function(req, res, next) {
2016-05-24 22:01:46 -04:00
async.parallel({
2016-05-24 23:04:57 -04:00
'not-found': async.apply(meta.errors.get, true),
2016-05-24 22:01:46 -04:00
analytics: async.apply(analytics.getErrorAnalytics)
}, function(err, data) {
2016-08-16 19:46:59 +02:00
if (err) {
return next(err);
}
2016-05-24 22:01:46 -04:00
res.render('admin/advanced/errors', data);
});
};
2016-08-16 19:46:59 +02:00
errorsController.export = function(req, res, next) {
2016-05-24 23:04:57 -04:00
async.waterfall([
async.apply(meta.errors.get, false),
async.apply(json2csv)
], function(err, csv) {
2016-08-16 19:46:59 +02:00
if (err) {
return next(err);
}
2016-05-24 23:04:57 -04:00
res.set('Content-Type', 'text/csv').set('Content-Disposition', 'attachment; filename="404.csv"').send(csv);
});
};
2016-05-24 22:01:46 -04:00
module.exports = errorsController;