X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Fvalidators%2Fconfig.ts;h=e87b2e39d765d5261e3b1dabd0de1d24ecc130ff;hb=7b51ede977c299a74728171d8c124bcc4cbba6ea;hp=5f1ac89bc909021ff6302d7243c2bf5d5ed723ef;hpb=8d8a037e3fe9b1d2ccbc4169ce59b13000b59cb0;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/validators/config.ts b/server/middlewares/validators/config.ts index 5f1ac89bc..e87b2e39d 100644 --- a/server/middlewares/validators/config.ts +++ b/server/middlewares/validators/config.ts @@ -38,11 +38,14 @@ const customConfigUpdateValidator = [ body('user.videoQuota').custom(isUserVideoQuotaValid).withMessage('Should have a valid video quota'), body('user.videoQuotaDaily').custom(isUserVideoQuotaDailyValid).withMessage('Should have a valid daily video quota'), + body('videoChannels.maxPerUser').isInt().withMessage("Should have a valid maximum amount of video channels per user"), + body('transcoding.enabled').isBoolean().withMessage('Should have a valid transcoding enabled boolean'), body('transcoding.allowAdditionalExtensions').isBoolean().withMessage('Should have a valid additional extensions boolean'), body('transcoding.threads').isInt().withMessage('Should have a valid transcoding threads number'), body('transcoding.concurrency').isInt({ min: 1 }).withMessage('Should have a valid transcoding concurrency number'), body('transcoding.resolutions.0p').isBoolean().withMessage('Should have a valid transcoding 0p resolution enabled boolean'), + body('transcoding.resolutions.144p').isBoolean().withMessage('Should have a valid transcoding 144p resolution enabled boolean'), body('transcoding.resolutions.240p').isBoolean().withMessage('Should have a valid transcoding 240p resolution enabled boolean'), body('transcoding.resolutions.360p').isBoolean().withMessage('Should have a valid transcoding 360p resolution enabled boolean'), body('transcoding.resolutions.480p').isBoolean().withMessage('Should have a valid transcoding 480p resolution enabled boolean'), @@ -54,6 +57,8 @@ const customConfigUpdateValidator = [ body('transcoding.webtorrent.enabled').isBoolean().withMessage('Should have a valid webtorrent transcoding enabled boolean'), body('transcoding.hls.enabled').isBoolean().withMessage('Should have a valid hls transcoding enabled boolean'), + body('videoEditor.enabled').isBoolean().withMessage('Should have a valid video editor enabled boolean'), + body('import.videos.concurrency').isInt({ min: 0 }).withMessage('Should have a valid import concurrency number'), body('import.videos.http.enabled').isBoolean().withMessage('Should have a valid import video http enabled boolean'), body('import.videos.torrent.enabled').isBoolean().withMessage('Should have a valid import video torrent enabled boolean'), @@ -78,6 +83,7 @@ const customConfigUpdateValidator = [ body('live.maxUserLives').custom(isIntOrNull).withMessage('Should have a valid max user lives'), body('live.transcoding.enabled').isBoolean().withMessage('Should have a valid live transcoding enabled boolean'), body('live.transcoding.threads').isInt().withMessage('Should have a valid live transcoding threads'), + body('live.transcoding.resolutions.144p').isBoolean().withMessage('Should have a valid transcoding 144p resolution enabled boolean'), body('live.transcoding.resolutions.240p').isBoolean().withMessage('Should have a valid transcoding 240p resolution enabled boolean'), body('live.transcoding.resolutions.360p').isBoolean().withMessage('Should have a valid transcoding 360p resolution enabled boolean'), body('live.transcoding.resolutions.480p').isBoolean().withMessage('Should have a valid transcoding 480p resolution enabled boolean'), @@ -100,18 +106,20 @@ const customConfigUpdateValidator = [ if (!checkInvalidConfigIfEmailDisabled(req.body, res)) return if (!checkInvalidTranscodingConfig(req.body, res)) return if (!checkInvalidLiveConfig(req.body, res)) return + if (!checkInvalidVideoEditorConfig(req.body, res)) return return next() } ] function ensureConfigIsEditable (req: express.Request, res: express.Response, next: express.NextFunction) { - if (!CONFIG.WEBADMIN.CONFIGURATION.EDITS.ALLOWED) { + if (!CONFIG.WEBADMIN.CONFIGURATION.EDITION.ALLOWED) { return res.fail({ status: HttpStatusCode.METHOD_NOT_ALLOWED_405, message: 'Server configuration is static and cannot be edited' }) } + return next() } @@ -154,3 +162,14 @@ function checkInvalidLiveConfig (customConfig: CustomConfig, res: express.Respon return true } + +function checkInvalidVideoEditorConfig (customConfig: CustomConfig, res: express.Response) { + if (customConfig.videoEditor.enabled === false) return true + + if (customConfig.videoEditor.enabled === true && customConfig.transcoding.enabled === false) { + res.fail({ message: 'You cannot enable video editor if transcoding is not enabled' }) + return false + } + + return true +}