feat: async

v1.18.x
Barış Soner Uşaklı
parent 32ea04a872
commit e635348693

@ -1,49 +1,31 @@
'use strict'; 'use strict';
var async = require('async'); const nconf = require('nconf');
var nconf = require('nconf');
var databaseController = module.exports; const databaseController = module.exports;
databaseController.get = function (req, res) { databaseController.get = async function (req, res) {
async.waterfall([ const result = {};
function (next) { try {
async.parallel({ if (nconf.get('redis')) {
redis: function (next) { const rdb = require('../../database/redis');
if (nconf.get('redis')) { results.redis = await rdb.info(rdb.client);
var rdb = require('../../database/redis'); }
rdb.info(rdb.client, next); if (nconf.get('mongo')) {
} else { const mdb = require('../../database/mongo');
next(); results.mongo = await mdb.info(mdb.client);
} }
}, if (nconf.get('postgres')) {
mongo: function (next) { const pdb = require('../../database/postgres');
if (nconf.get('mongo')) { results.postgres = await pdb.info(pdb.pool);
var mdb = require('../../database/mongo'); }
mdb.info(mdb.client, next); } catch (err) {
} 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) {
Object.assign(results, { error: err }); Object.assign(results, { error: err });
// Override mongo error with more human-readable error // 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]]'; err.friendlyMessage = '[[admin/advanced/database:mongo.unauthorized]]';
delete results.mongo; delete results.mongo;
} }
}
res.render('admin/advanced/database', results); res.render('admin/advanced/database', results);
});
}; };

Loading…
Cancel
Save