X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fcontrollers%2Fapi%2Fconfig.ts;h=805ad99c7e0d48ddad6fec74f17ea0e440585cb3;hb=8dd754c76735417305c4b68e2ada6f623e9d7650;hp=1f2a5f2da34a411ab7557941b5916eaa00c54574;hpb=1c5e49e75284100b7b1fc8b4e73c8ba53fe22e89;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/api/config.ts b/server/controllers/api/config.ts index 1f2a5f2da..805ad99c7 100644 --- a/server/controllers/api/config.ts +++ b/server/controllers/api/config.ts @@ -1,8 +1,8 @@ -import { ServerConfigManager } from '@server/lib/server-config-manager' -import * as express from 'express' +import express from 'express' import { remove, writeJSON } from 'fs-extra' import { snakeCase } from 'lodash' import validator from 'validator' +import { ServerConfigManager } from '@server/lib/server-config-manager' import { UserRight } from '../../../shared' import { About } from '../../../shared/models/server/about.model' import { CustomConfig } from '../../../shared/models/server/custom-config.model' @@ -10,35 +10,44 @@ import { auditLoggerFactory, CustomConfigAuditView, getAuditIdFromRes } from '.. import { objectConverter } from '../../helpers/core-utils' import { CONFIG, reloadConfig } from '../../initializers/config' import { ClientHtml } from '../../lib/client-html' -import { asyncMiddleware, authenticate, ensureUserHasRight } from '../../middlewares' -import { customConfigUpdateValidator } from '../../middlewares/validators/config' +import { asyncMiddleware, authenticate, ensureUserHasRight, openapiOperationDoc } from '../../middlewares' +import { customConfigUpdateValidator, ensureConfigIsEditable } from '../../middlewares/validators/config' const configRouter = express.Router() const auditLogger = auditLoggerFactory('config') -configRouter.get('/about', getAbout) - configRouter.get('/', + openapiOperationDoc({ operationId: 'getConfig' }), asyncMiddleware(getConfig) ) +configRouter.get('/about', + openapiOperationDoc({ operationId: 'getAbout' }), + getAbout +) + configRouter.get('/custom', + openapiOperationDoc({ operationId: 'getCustomConfig' }), authenticate, ensureUserHasRight(UserRight.MANAGE_CONFIGURATION), getCustomConfig ) configRouter.put('/custom', + openapiOperationDoc({ operationId: 'putCustomConfig' }), authenticate, ensureUserHasRight(UserRight.MANAGE_CONFIGURATION), + ensureConfigIsEditable, customConfigUpdateValidator, asyncMiddleware(updateCustomConfig) ) configRouter.delete('/custom', + openapiOperationDoc({ operationId: 'delCustomConfig' }), authenticate, ensureUserHasRight(UserRight.MANAGE_CONFIGURATION), + ensureConfigIsEditable, asyncMiddleware(deleteCustomConfig) ) @@ -187,6 +196,9 @@ function customConfig (): CustomConfig { videoQuota: CONFIG.USER.VIDEO_QUOTA, videoQuotaDaily: CONFIG.USER.VIDEO_QUOTA_DAILY }, + videoChannels: { + maxPerUser: CONFIG.VIDEO_CHANNELS.MAX_PER_USER + }, transcoding: { enabled: CONFIG.TRANSCODING.ENABLED, allowAdditionalExtensions: CONFIG.TRANSCODING.ALLOW_ADDITIONAL_EXTENSIONS, @@ -196,6 +208,7 @@ function customConfig (): CustomConfig { profile: CONFIG.TRANSCODING.PROFILE, resolutions: { '0p': CONFIG.TRANSCODING.RESOLUTIONS['0p'], + '144p': CONFIG.TRANSCODING.RESOLUTIONS['144p'], '240p': CONFIG.TRANSCODING.RESOLUTIONS['240p'], '360p': CONFIG.TRANSCODING.RESOLUTIONS['360p'], '480p': CONFIG.TRANSCODING.RESOLUTIONS['480p'], @@ -222,6 +235,7 @@ function customConfig (): CustomConfig { threads: CONFIG.LIVE.TRANSCODING.THREADS, profile: CONFIG.LIVE.TRANSCODING.PROFILE, resolutions: { + '144p': CONFIG.LIVE.TRANSCODING.RESOLUTIONS['144p'], '240p': CONFIG.LIVE.TRANSCODING.RESOLUTIONS['240p'], '360p': CONFIG.LIVE.TRANSCODING.RESOLUTIONS['360p'], '480p': CONFIG.LIVE.TRANSCODING.RESOLUTIONS['480p'],