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

50 lines
1.1 KiB
JavaScript
Raw Normal View History

2015-09-17 16:25:15 -04:00
'use strict';
var async = require('async');
var nconf = require('nconf');
2017-06-22 19:03:49 -04:00
var databaseController = module.exports;
2015-09-17 16:25:15 -04:00
databaseController.get = function (req, res) {
2017-06-22 19:03:49 -04:00
async.waterfall([
function (next) {
async.parallel({
redis: function (next) {
if (nconf.get('redis')) {
var rdb = require('../../database/redis');
rdb.info(rdb.client, next);
} else {
next();
}
},
mongo: function (next) {
if (nconf.get('mongo')) {
var mdb = require('../../database/mongo');
mdb.info(mdb.client, next);
} else {
next();
}
},
postgres: function (next) {
if (nconf.get('postgres')) {
var pdb = require('../../database/postgres');
pdb.info(pdb.pool, next);
} else {
next();
}
},
2017-06-22 19:03:49 -04:00
}, next);
2015-09-17 16:25:15 -04:00
},
], function (err, results) {
Object.assign(results, { error: err });
// Override mongo error with more human-readable error
2019-02-19 11:20:50 -05:00
if (err && err.name === 'MongoError' && err.codeName === 'Unauthorized') {
err.friendlyMessage = '[[admin/advanced/database:mongo.unauthorized]]';
delete results.mongo;
}
res.render('admin/advanced/database', results);
});
2015-09-17 16:25:15 -04:00
};