SERVICES_TWITTER_USERNAME_VALIDATOR,
SIGNUP_LIMIT_VALIDATOR,
SIGNUP_MINIMUM_AGE_VALIDATOR,
- TRANSCODING_THREADS_VALIDATOR
+ TRANSCODING_THREADS_VALIDATOR,
+ MAX_VIDEO_CHANNELS_PER_USER_VALIDATOR
} from '@app/shared/form-validators/custom-config-validators'
import { USER_VIDEO_QUOTA_DAILY_VALIDATOR, USER_VIDEO_QUOTA_VALIDATOR } from '@app/shared/form-validators/user-validators'
import { FormReactive, FormValidatorService } from '@app/shared/shared-forms'
whitelisted: null
}
},
+ client: {
+ videos: {
+ miniature: {
+ preferAuthorDisplayName: null
+ }
+ },
+ menu: {
+ login: {
+ redirectOnSingleExternalAuth: null
+ }
+ }
+ },
cache: {
previews: {
size: CACHE_PREVIEWS_SIZE_VALIDATOR
videoQuota: USER_VIDEO_QUOTA_VALIDATOR,
videoQuotaDaily: USER_VIDEO_QUOTA_DAILY_VALIDATOR
},
+ videoChannels: {
+ maxPerUser: MAX_VIDEO_CHANNELS_PER_USER_VALIDATOR
+ },
transcoding: {
enabled: null,
threads: TRANSCODING_THREADS_VALIDATOR,
maxInstanceLives: MAX_INSTANCE_LIVES_VALIDATOR,
maxUserLives: MAX_USER_LIVES_VALIDATOR,
allowReplay: null,
+ latencySetting: {
+ enabled: null
+ },
transcoding: {
enabled: null,
resolutions: {}
}
},
+ videoStudio: {
+ enabled: null
+ },
autoBlacklist: {
videos: {
ofUsers: {
this.loadConfigAndUpdateForm()
this.loadCategoriesAndLanguages()
+
+ if (!this.isUpdateAllowed()) {
+ this.form.disable()
+ }
}
formValidated () {
})
}
+ isUpdateAllowed () {
+ return this.serverConfig.webadmin.configuration.edition.allowed === true
+ }
+
hasConsistentOptions () {
if (this.hasLiveAllowReplayConsistentOptions()) return true