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

29 lines
865 B
JavaScript
Raw Normal View History

2016-05-24 22:01:46 -04:00
'use strict';
const json2csv = require('json-2-csv').json2csv;
const util = require('util');
2016-05-24 22:01:46 -04:00
const meta = require('../../meta');
const analytics = require('../../analytics');
const utils = require('../../utils');
2016-05-24 22:01:46 -04:00
const errorsController = module.exports;
2016-05-24 22:01:46 -04:00
errorsController.get = async function (req, res) {
const data = await utils.promiseParallel({
'not-found': meta.errors.get(true),
analytics: analytics.getErrorAnalytics(),
});
res.render('admin/advanced/errors', data);
2016-05-24 22:01:46 -04:00
};
const json2csvAsync = util.promisify(function (data, callback) {
json2csv(data, (err, output) => callback(err, output));
});
errorsController.export = async function (req, res) {
const data = await meta.errors.get(false);
const csv = await json2csvAsync(data);
res.set('Content-Type', 'text/csv').set('Content-Disposition', 'attachment; filename="404.csv"').send(csv);
2016-05-24 23:04:57 -04:00
};