feat: async
parent
32ea04a872
commit
e635348693
@ -1,49 +1,31 @@
|
||||
'use strict';
|
||||
|
||||
var async = require('async');
|
||||
var nconf = require('nconf');
|
||||
const nconf = require('nconf');
|
||||
|
||||
var databaseController = module.exports;
|
||||
const databaseController = module.exports;
|
||||
|
||||
databaseController.get = function (req, res) {
|
||||
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();
|
||||
}
|
||||
},
|
||||
}, next);
|
||||
},
|
||||
], function (err, results) {
|
||||
databaseController.get = async function (req, res) {
|
||||
const result = {};
|
||||
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
|
||||
if (err && err.name === 'MongoError' && err.codeName === 'Unauthorized') {
|
||||
if (err.name === 'MongoError' && err.codeName === 'Unauthorized') {
|
||||
err.friendlyMessage = '[[admin/advanced/database:mongo.unauthorized]]';
|
||||
delete results.mongo;
|
||||
}
|
||||
|
||||
res.render('admin/advanced/database', results);
|
||||
});
|
||||
}
|
||||
res.render('admin/advanced/database', results);
|
||||
};
|
||||
|
Loading…
Reference in New Issue