import * as express from 'express'
+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)
}
// ---------------------------------------------------------------------------