First version with PostgreSQL
[oweals/peertube.git] / server / controllers / api / requests.js
1 'use strict'
2
3 const express = require('express')
4
5 const constants = require('../../initializers/constants')
6 const db = require('../../initializers/database')
7 const middlewares = require('../../middlewares')
8 const admin = middlewares.admin
9 const oAuth = middlewares.oauth
10
11 const router = express.Router()
12
13 router.get('/stats',
14   oAuth.authenticate,
15   admin.ensureIsAdmin,
16   getStatsRequests
17 )
18
19 // ---------------------------------------------------------------------------
20
21 module.exports = router
22
23 // ---------------------------------------------------------------------------
24
25 function getStatsRequests (req, res, next) {
26   db.Request.countTotalRequests(function (err, totalRequests) {
27     if (err) return next(err)
28
29     return res.json({
30       totalRequests: totalRequests,
31       maxRequestsInParallel: constants.REQUESTS_IN_PARALLEL,
32       remainingMilliSeconds: db.Request.remainingMilliSeconds(),
33       milliSecondsInterval: constants.REQUESTS_INTERVAL
34     })
35   })
36 }