]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/controllers/api/config.ts
Propagate old comment on new follow
[github/Chocobozzz/PeerTube.git] / server / controllers / api / config.ts
index 57c9398ecaafbd57a326b9ee02887fa5ca160dc2..2f1132904fef5846bf54e8a93c75a096d7115513 100644 (file)
@@ -1,18 +1,33 @@
 import * as express from 'express'
+import { isSignupAllowed } from '../../helpers/utils'
 
 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)
 }
 
 // ---------------------------------------------------------------------------