diff --git a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html index 534b03517..4596a130e 100644 --- a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html +++ b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html @@ -56,6 +56,8 @@
It seems like the configuration is invalid. Please search for potential errors in the different tabs. + + {{ formErrors }} diff --git a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts index a5eddf6c2..bbdf1bfbe 100644 --- a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts +++ b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts @@ -1,4 +1,6 @@ +import { forkJoin } from 'rxjs' +import { SelectOptionsItem } from 'src/types/select-options-item.model' import { Component, OnInit } from '@angular/core' import { ActivatedRoute, Router } from '@angular/router' import { ConfigService } from '@app/+admin/config/shared/config.service' @@ -12,6 +14,9 @@ import { INDEX_URL_VALIDATOR, INSTANCE_NAME_VALIDATOR, INSTANCE_SHORT_DESCRIPTION_VALIDATOR, + MAX_INSTANCE_LIVES_VALIDATOR, + MAX_LIVE_DURATION_VALIDATOR, + MAX_USER_LIVES_VALIDATOR, SEARCH_INDEX_URL_VALIDATOR, SERVICES_TWITTER_USERNAME_VALIDATOR, SIGNUP_LIMIT_VALIDATOR, @@ -20,8 +25,6 @@ import { 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' import { CustomConfig, ServerConfig } from '@shared/models' -import { forkJoin } from 'rxjs' -import { SelectOptionsItem } from 'src/types/select-options-item.model' import { EditConfigurationService } from './edit-configuration.service' @Component({ @@ -156,9 +159,9 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit { live: { enabled: null, - maxDuration: null, - maxInstanceLives: null, - maxUserLives: null, + maxDuration: MAX_LIVE_DURATION_VALIDATOR, + maxInstanceLives: MAX_INSTANCE_LIVES_VALIDATOR, + maxUserLives: MAX_USER_LIVES_VALIDATOR, allowReplay: null, transcoding: { diff --git a/client/src/app/shared/form-validators/custom-config-validators.ts b/client/src/app/shared/form-validators/custom-config-validators.ts index 23f2156c2..d6ce6db22 100644 --- a/client/src/app/shared/form-validators/custom-config-validators.ts +++ b/client/src/app/shared/form-validators/custom-config-validators.ts @@ -65,6 +65,30 @@ export const TRANSCODING_THREADS_VALIDATOR: BuildFormValidator = { } } +export const MAX_LIVE_DURATION_VALIDATOR: BuildFormValidator = { + VALIDATORS: [Validators.required, Validators.min(-1)], + MESSAGES: { + 'required': $localize`Max live duration is required.`, + 'min': $localize`Max live duration should be greater or equal to -1.` + } +} + +export const MAX_INSTANCE_LIVES_VALIDATOR: BuildFormValidator = { + VALIDATORS: [Validators.required, Validators.min(-1)], + MESSAGES: { + 'required': $localize`Max instance lives is required.`, + 'min': $localize`Max instance lives should be greater or equal to -1.` + } +} + +export const MAX_USER_LIVES_VALIDATOR: BuildFormValidator = { + VALIDATORS: [Validators.required, Validators.min(-1)], + MESSAGES: { + 'required': $localize`Max user lives is required.`, + 'min': $localize`Max user lives should be greater or equal to -1.` + } +} + export const CONCURRENCY_VALIDATOR: BuildFormValidator = { VALIDATORS: [Validators.required, Validators.min(1)], MESSAGES: {