X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fcontrollers%2Fapi%2Frequests.js;h=6fd5753ac5c69e1ff87952e62d9a6559f2c57d33;hb=6f0c39e2de400685b7baf8340b9e132f2659365a;hp=3e0d246d1ef882102d000f8250bd47719f5fdb6e;hpb=872a4c7cea861246cf84fa3686bd9d40c684535f;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/api/requests.js b/server/controllers/api/requests.js index 3e0d246d1..6fd5753ac 100644 --- a/server/controllers/api/requests.js +++ b/server/controllers/api/requests.js @@ -1,9 +1,9 @@ 'use strict' const express = require('express') +const parallel = require('async/parallel') -const constants = require('../../initializers/constants') -const db = require('../../initializers/database') +const friends = require('../../lib/friends') const middlewares = require('../../middlewares') const admin = middlewares.admin const oAuth = middlewares.oauth @@ -23,15 +23,33 @@ module.exports = router // --------------------------------------------------------------------------- function getStatsRequests (req, res, next) { - db.Request.countTotalRequests(function (err, totalRequests) { + parallel({ + requestScheduler: buildRequestSchedulerFunction(friends.getRequestScheduler()), + requestVideoQaduScheduler: buildRequestSchedulerFunction(friends.getRequestVideoQaduScheduler()), + requestVideoEventScheduler: buildRequestSchedulerFunction(friends.getRequestVideoEventScheduler()) + }, function (err, result) { if (err) return next(err) - return res.json({ - totalRequests: totalRequests, - requestsLimitPods: constants.REQUESTS_LIMIT_PODS, - requestsLimitPerPod: constants.REQUESTS_LIMIT_PER_POD, - remainingMilliSeconds: db.Request.remainingMilliSeconds(), - milliSecondsInterval: constants.REQUESTS_INTERVAL - }) + return res.json(result) }) } + +// --------------------------------------------------------------------------- + +function buildRequestSchedulerFunction (requestScheduler) { + return function (callback) { + requestScheduler.remainingRequestsCount(function (err, count) { + if (err) return callback(err) + + const result = { + totalRequests: count, + requestsLimitPods: requestScheduler.limitPods, + requestsLimitPerPod: requestScheduler.limitPerPod, + remainingMilliSeconds: requestScheduler.remainingMilliSeconds(), + milliSecondsInterval: requestScheduler.requestInterval + } + + return callback(null, result) + }) + } +}