PeerTube/server/controllers/api/config.ts

51 lines
1.2 KiB
TypeScript
Raw Normal View History

2017-06-05 21:53:49 +02:00
import * as express from 'express'
2017-12-28 11:16:08 +01:00
import { isSignupAllowed } from '../../helpers/utils'
2017-05-15 22:22:03 +02:00
2018-01-03 11:10:40 +01:00
import { CONFIG, CONSTRAINTS_FIELDS } from '../../initializers'
2017-10-25 11:55:06 +02:00
import { asyncMiddleware } from '../../middlewares'
2017-06-17 11:28:11 +02:00
import { ServerConfig } from '../../../shared'
2017-05-15 22:22:03 +02:00
const configRouter = express.Router()
2017-10-25 11:55:06 +02:00
configRouter.get('/',
asyncMiddleware(getConfig)
)
2017-05-15 22:22:03 +02:00
2017-10-25 11:55:06 +02:00
async function getConfig (req: express.Request, res: express.Response, next: express.NextFunction) {
const allowed = await isSignupAllowed()
2017-10-25 11:55:06 +02:00
const enabledResolutions = Object.keys(CONFIG.TRANSCODING.RESOLUTIONS)
.filter(key => CONFIG.TRANSCODING.RESOLUTIONS[key] === true)
.map(r => parseInt(r, 10))
2017-10-25 11:55:06 +02:00
const json: ServerConfig = {
signup: {
allowed
},
transcoding: {
enabledResolutions
2018-01-03 11:10:40 +01:00
},
avatar: {
file: {
size: {
max: CONSTRAINTS_FIELDS.ACTORS.AVATAR.FILE_SIZE.max
},
extensions: CONSTRAINTS_FIELDS.ACTORS.AVATAR.EXTNAME
}
},
video: {
file: {
extensions: CONSTRAINTS_FIELDS.VIDEOS.EXTNAME
}
2017-05-15 22:22:03 +02:00
}
2017-10-25 11:55:06 +02:00
}
2017-10-25 11:55:06 +02:00
return res.json(json)
2017-05-15 22:22:03 +02:00
}
// ---------------------------------------------------------------------------
export {
configRouter
}