X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fcontrollers%2Fapi%2Fconfig.ts;h=5f704f0eeef38d84645b8d072e8b618eaefe424f;hb=225a89c2afbbe53cf39ffa7ea0cd485095a1d5f5;hp=8f3fa24736ab02bf65d0e77741bc5653c015f559;hpb=65fcc3119c334b75dd13bcfdebf186afdc580a8f;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/api/config.ts b/server/controllers/api/config.ts index 8f3fa2473..5f704f0ee 100644 --- a/server/controllers/api/config.ts +++ b/server/controllers/api/config.ts @@ -1,18 +1,33 @@ -import express = require('express') +import * as express from 'express' -import { CONFIG } from '../../initializers'; +import { isSignupAllowed } from '../../helpers' +import { CONFIG } from '../../initializers' +import { asyncMiddleware } from '../../middlewares' +import { ServerConfig } from '../../../shared' const configRouter = express.Router() -configRouter.get('/', getConfig) +configRouter.get('/', + asyncMiddleware(getConfig) +) -// Get the client credentials for the PeerTube front end -function getConfig (req, res, next) { - res.json({ +async function getConfig (req: express.Request, res: express.Response, next: express.NextFunction) { + const allowed = await isSignupAllowed() + + const enabledResolutions = Object.keys(CONFIG.TRANSCODING.RESOLUTIONS) + .filter(key => CONFIG.TRANSCODING.RESOLUTIONS[key] === true) + .map(r => parseInt(r, 10)) + + const json: ServerConfig = { signup: { - enabled: CONFIG.SIGNUP.ENABLED + allowed + }, + transcoding: { + enabledResolutions } - }) + } + + return res.json(json) } // ---------------------------------------------------------------------------