From e635348693aa82245c167fca0ac5a511829d52ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Wed, 14 Aug 2019 13:29:52 -0400 Subject: [PATCH] feat: async --- src/controllers/admin/database.js | 60 +++++++++++-------------------- 1 file changed, 21 insertions(+), 39 deletions(-) diff --git a/src/controllers/admin/database.js b/src/controllers/admin/database.js index 3a3946395f..8706ded0cb 100644 --- a/src/controllers/admin/database.js +++ b/src/controllers/admin/database.js @@ -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); };