]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/controllers/api/v1/requests.js
Client: add requests stats page
[github/Chocobozzz/PeerTube.git] / server / controllers / api / v1 / requests.js
1 'use strict'
2
3 const express = require('express')
4 const mongoose = require('mongoose')
5
6 const constants = require('../../../initializers/constants')
7 const middlewares = require('../../../middlewares')
8 const admin = middlewares.admin
9 const oAuth = middlewares.oauth
10
11 const Request = mongoose.model('Request')
12
13 const router = express.Router()
14
15 router.get('/stats',
16 oAuth.authenticate,
17 admin.ensureIsAdmin,
18 getStatsRequests
19 )
20
21 // ---------------------------------------------------------------------------
22
23 module.exports = router
24
25 // ---------------------------------------------------------------------------
26
27 function getStatsRequests (req, res, next) {
28 Request.list(function (err, requests) {
29 if (err) return next(err)
30
31 const remainingMilliSeconds = constants.REQUESTS_INTERVAL - (Date.now() % constants.REQUESTS_INTERVAL)
32
33 return res.json({
34 requests: requests,
35 remainingMilliSeconds: remainingMilliSeconds,
36 milliSecondsInterval: constants.REQUESTS_INTERVAL
37 })
38 })
39 }