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

32 lines
906 B
JavaScript
Raw Normal View History

2015-09-17 16:25:15 -04:00
'use strict';
2019-08-14 13:29:52 -04:00
const nconf = require('nconf');
2015-09-17 16:25:15 -04:00
2019-08-14 13:29:52 -04:00
const databaseController = module.exports;
2015-09-17 16:25:15 -04:00
2019-08-14 13:29:52 -04:00
databaseController.get = async function (req, res) {
2019-08-14 13:41:28 -04:00
const results = {};
2019-08-14 13:29:52 -04:00
try {
if (nconf.get('redis')) {
const rdb = require('../../database/redis');
results.redis = await rdb.info(rdb.client);
}
if (nconf.get('mongo')) {
const mdb = require('../../database/mongo');
results.mongo = await mdb.info(mdb.client);
}
if (nconf.get('postgres')) {
const pdb = require('../../database/postgres');
results.postgres = await pdb.info(pdb.pool);
}
} catch (err) {
Object.assign(results, { error: err });
// Override mongo error with more human-readable error
2019-08-14 13:29:52 -04:00
if (err.name === 'MongoError' && err.codeName === 'Unauthorized') {
err.friendlyMessage = '[[admin/advanced/database:mongo.unauthorized]]';
delete results.mongo;
}
2019-08-14 13:29:52 -04:00
}
res.render('admin/advanced/database', results);
2015-09-17 16:25:15 -04:00
};