]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/shared/form-validators/custom-config-validators.ts
Refactoring margin and padding mixins
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / form-validators / custom-config-validators.ts
CommitLineData
7ed1edbb
C
1import { Validators } from '@angular/forms'
2import { BuildFormValidator } from './form-validator.model'
3
4export const INSTANCE_NAME_VALIDATOR: BuildFormValidator = {
9df52d66 5 VALIDATORS: [ Validators.required ],
7ed1edbb 6 MESSAGES: {
9df52d66 7 required: $localize`Instance name is required.`
7ed1edbb
C
8 }
9}
10
11export const INSTANCE_SHORT_DESCRIPTION_VALIDATOR: BuildFormValidator = {
c5fe3434 12 VALIDATORS: [ Validators.maxLength(250) ],
7ed1edbb 13 MESSAGES: {
c5fe3434 14 maxlength: $localize`Short description should not be longer than 250 characters.`
7ed1edbb
C
15 }
16}
17
18export const SERVICES_TWITTER_USERNAME_VALIDATOR: BuildFormValidator = {
9df52d66 19 VALIDATORS: [ Validators.required ],
7ed1edbb 20 MESSAGES: {
9df52d66 21 required: $localize`Twitter username is required.`
7ed1edbb
C
22 }
23}
24
25export const CACHE_PREVIEWS_SIZE_VALIDATOR: BuildFormValidator = {
9df52d66 26 VALIDATORS: [ Validators.required, Validators.min(1), Validators.pattern('[0-9]+') ],
7ed1edbb 27 MESSAGES: {
9df52d66
C
28 required: $localize`Previews cache size is required.`,
29 min: $localize`Previews cache size must be greater than 1.`,
30 pattern: $localize`Previews cache size must be a number.`
7ed1edbb
C
31 }
32}
33
34export const CACHE_CAPTIONS_SIZE_VALIDATOR: BuildFormValidator = {
9df52d66 35 VALIDATORS: [ Validators.required, Validators.min(1), Validators.pattern('[0-9]+') ],
7ed1edbb 36 MESSAGES: {
9df52d66
C
37 required: $localize`Captions cache size is required.`,
38 min: $localize`Captions cache size must be greater than 1.`,
39 pattern: $localize`Captions cache size must be a number.`
7ed1edbb
C
40 }
41}
42
43export const SIGNUP_LIMIT_VALIDATOR: BuildFormValidator = {
9df52d66 44 VALIDATORS: [ Validators.required, Validators.min(-1), Validators.pattern('-?[0-9]+') ],
7ed1edbb 45 MESSAGES: {
9df52d66
C
46 required: $localize`Signup limit is required.`,
47 min: $localize`Signup limit must be greater than 1. Use -1 to disable it.`,
48 pattern: $localize`Signup limit must be a number.`
7ed1edbb
C
49 }
50}
51
1f256e7d 52export const SIGNUP_MINIMUM_AGE_VALIDATOR: BuildFormValidator = {
9df52d66 53 VALIDATORS: [ Validators.required, Validators.min(1), Validators.pattern('[0-9]+') ],
1f256e7d 54 MESSAGES: {
9df52d66
C
55 required: $localize`Signup minimum age is required.`,
56 min: $localize`Signup minimum age must be greater than 1.`,
57 pattern: $localize`Signup minimum age must be a number.`
1f256e7d
P
58 }
59}
60
7ed1edbb 61export const ADMIN_EMAIL_VALIDATOR: BuildFormValidator = {
9df52d66 62 VALIDATORS: [ Validators.required, Validators.email ],
7ed1edbb 63 MESSAGES: {
9df52d66
C
64 required: $localize`Admin email is required.`,
65 email: $localize`Admin email must be valid.`
7ed1edbb
C
66 }
67}
68
69export const TRANSCODING_THREADS_VALIDATOR: BuildFormValidator = {
9df52d66 70 VALIDATORS: [ Validators.required, Validators.min(0) ],
7ed1edbb 71 MESSAGES: {
9df52d66
C
72 required: $localize`Transcoding threads is required.`,
73 min: $localize`Transcoding threads must be greater or equal to 0.`
7ed1edbb
C
74 }
75}
76
4e55c132 77export const MAX_LIVE_DURATION_VALIDATOR: BuildFormValidator = {
9df52d66 78 VALIDATORS: [ Validators.required, Validators.min(-1) ],
4e55c132 79 MESSAGES: {
9df52d66
C
80 required: $localize`Max live duration is required.`,
81 min: $localize`Max live duration should be greater or equal to -1.`
4e55c132
C
82 }
83}
84
85export const MAX_INSTANCE_LIVES_VALIDATOR: BuildFormValidator = {
9df52d66 86 VALIDATORS: [ Validators.required, Validators.min(-1) ],
4e55c132 87 MESSAGES: {
9df52d66
C
88 required: $localize`Max instance lives is required.`,
89 min: $localize`Max instance lives should be greater or equal to -1.`
4e55c132
C
90 }
91}
92
93export const MAX_USER_LIVES_VALIDATOR: BuildFormValidator = {
9df52d66 94 VALIDATORS: [ Validators.required, Validators.min(-1) ],
4e55c132 95 MESSAGES: {
9df52d66
C
96 required: $localize`Max user lives is required.`,
97 min: $localize`Max user lives should be greater or equal to -1.`
4e55c132
C
98 }
99}
100
754b6f5f
FC
101export const MAX_VIDEO_CHANNELS_PER_USER_VALIDATOR: BuildFormValidator = {
102 VALIDATORS: [ Validators.required, Validators.min(1), Validators.pattern('[0-9]+') ],
103 MESSAGES: {
104 required: $localize`Max video channels per user is required.`,
105 min: $localize`Max video channels per user must be greater or equal to 1.`,
106 pattern: $localize`Max video channels per user must be a number.`
107 }
108}
109
9129b769 110export const CONCURRENCY_VALIDATOR: BuildFormValidator = {
9df52d66 111 VALIDATORS: [ Validators.required, Validators.min(1) ],
9129b769 112 MESSAGES: {
9df52d66
C
113 required: $localize`Concurrency is required.`,
114 min: $localize`Concurrency should be greater or equal to 1.`
9129b769
C
115 }
116}
117
7ed1edbb 118export const INDEX_URL_VALIDATOR: BuildFormValidator = {
9df52d66 119 VALIDATORS: [ Validators.pattern(/^https:\/\//) ],
7ed1edbb 120 MESSAGES: {
9df52d66 121 pattern: $localize`Index URL should be a URL`
7ed1edbb
C
122 }
123}
124
125export const SEARCH_INDEX_URL_VALIDATOR: BuildFormValidator = {
9df52d66 126 VALIDATORS: [ Validators.pattern(/^https?:\/\//) ],
7ed1edbb 127 MESSAGES: {
9df52d66 128 pattern: $localize`Search index URL should be a URL`
7ed1edbb
C
129 }
130}