Add missing live config validators

pull/3745/head
Chocobozzz 2021-02-10 11:42:10 +01:00
parent 4e9835e632
commit 4e55c132a0
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
3 changed files with 34 additions and 5 deletions

View File

@ -56,6 +56,8 @@
<div class="col-md-5 col-xl-5">
<span class="form-error submit-error" i18n *ngIf="!form.valid">
It seems like the configuration is invalid. Please search for potential errors in the different tabs.
{{ formErrors }}
</span>
<span class="form-error submit-error" i18n *ngIf="!hasLiveAllowReplayConsistentOptions()">

View File

@ -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: {

View File

@ -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: {