From eb08047657e739bcd9e592d76307befa3998482b Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 25 Oct 2017 11:55:06 +0200 Subject: Use async/await in controllers --- server/controllers/api/request-schedulers.ts | 38 ++++++++++++++-------------- 1 file changed, 19 insertions(+), 19 deletions(-) (limited to 'server/controllers/api/request-schedulers.ts') diff --git a/server/controllers/api/request-schedulers.ts b/server/controllers/api/request-schedulers.ts index 2a934a512..28f46f3ee 100644 --- a/server/controllers/api/request-schedulers.ts +++ b/server/controllers/api/request-schedulers.ts @@ -1,5 +1,5 @@ import * as express from 'express' -import * as Promise from 'bluebird' +import * as Bluebird from 'bluebird' import { AbstractRequestScheduler, @@ -7,7 +7,7 @@ import { getRequestVideoQaduScheduler, getRequestVideoEventScheduler } from '../../lib' -import { authenticate, ensureIsAdmin } from '../../middlewares' +import { authenticate, ensureIsAdmin, asyncMiddleware } from '../../middlewares' import { RequestSchedulerStatsAttributes } from '../../../shared' const requestSchedulerRouter = express.Router() @@ -15,7 +15,7 @@ const requestSchedulerRouter = express.Router() requestSchedulerRouter.get('/stats', authenticate, ensureIsAdmin, - getRequestSchedulersStats + asyncMiddleware(getRequestSchedulersStats) ) // --------------------------------------------------------------------------- @@ -26,28 +26,28 @@ export { // --------------------------------------------------------------------------- -function getRequestSchedulersStats (req: express.Request, res: express.Response, next: express.NextFunction) { - Promise.props({ +async function getRequestSchedulersStats (req: express.Request, res: express.Response, next: express.NextFunction) { + const result = await Bluebird.props({ requestScheduler: buildRequestSchedulerStats(getRequestScheduler()), requestVideoQaduScheduler: buildRequestSchedulerStats(getRequestVideoQaduScheduler()), requestVideoEventScheduler: buildRequestSchedulerStats(getRequestVideoEventScheduler()) }) - .then(result => res.json(result)) - .catch(err => next(err)) + + return res.json(result) } // --------------------------------------------------------------------------- -function buildRequestSchedulerStats (requestScheduler: AbstractRequestScheduler) { - return requestScheduler.remainingRequestsCount().then(count => { - const result: RequestSchedulerStatsAttributes = { - totalRequests: count, - requestsLimitPods: requestScheduler.limitPods, - requestsLimitPerPod: requestScheduler.limitPerPod, - remainingMilliSeconds: requestScheduler.remainingMilliSeconds(), - milliSecondsInterval: requestScheduler.requestInterval - } - - return result - }) +async function buildRequestSchedulerStats (requestScheduler: AbstractRequestScheduler) { + const count = await requestScheduler.remainingRequestsCount() + + const result: RequestSchedulerStatsAttributes = { + totalRequests: count, + requestsLimitPods: requestScheduler.limitPods, + requestsLimitPerPod: requestScheduler.limitPerPod, + remainingMilliSeconds: requestScheduler.remainingMilliSeconds(), + milliSecondsInterval: requestScheduler.requestInterval + } + + return result } -- cgit v1.2.3