]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - shared/models/server/custom-config.model.ts
fix trending page scroll
[github/Chocobozzz/PeerTube.git] / shared / models / server / custom-config.model.ts
CommitLineData
0883b324 1import { NSFWPolicyType } from '../videos/nsfw-policy.type'
72c33e71 2import { BroadcastMessageLevel } from './broadcast-message-level.type'
0883b324 3
c6c0fa6c
C
4export type ConfigResolutions = {
5 '240p': boolean
6 '360p': boolean
7 '480p': boolean
8 '720p': boolean
9 '1080p': boolean
b7085c71 10 '1440p': boolean
c6c0fa6c
C
11 '2160p': boolean
12}
13
fd206f0b 14export interface CustomConfig {
66b16caf
C
15 instance: {
16 name: string
2e3a0215 17 shortDescription: string
66b16caf
C
18 description: string
19 terms: string
ccc00cb2
C
20 codeOfConduct: string
21
8ae03c37 22 creationReason: string
ccc00cb2
C
23 moderationInformation: string
24 administrator: string
25 maintenanceLifetime: string
26 businessModel: string
be04c6fd 27 hardwareInformation: string
ccc00cb2
C
28
29 languages: string[]
30 categories: number[]
31
f8802489 32 isNSFW: boolean
0883b324 33 defaultNSFWPolicy: NSFWPolicyType
3da68f0a
RK
34
35 defaultClientRoute: string
3da68f0a 36
00b5556c
C
37 customizations: {
38 javascript?: string
39 css?: string
40 }
66b16caf
C
41 }
42
7cd4d2ba
C
43 theme: {
44 default: string
45 }
46
8be1afa1
C
47 services: {
48 twitter: {
49 username: string
50 whitelisted: boolean
51 }
52 }
53
fd206f0b
C
54 cache: {
55 previews: {
56 size: number
57 }
40e87e9e
C
58
59 captions: {
60 size: number
61 }
fd206f0b
C
62 }
63
64 signup: {
65 enabled: boolean
66 limit: number
d9eaee39 67 requiresEmailVerification: boolean
fd206f0b
C
68 }
69
70 admin: {
71 email: string
72 }
73
a4101923
C
74 contactForm: {
75 enabled: boolean
76 }
77
fd206f0b
C
78 user: {
79 videoQuota: number
bee0abff 80 videoQuotaDaily: number
fd206f0b
C
81 }
82
83 transcoding: {
84 enabled: boolean
d7a25329 85
14e2014a 86 allowAdditionalExtensions: boolean
536598cf 87 allowAudioFiles: boolean
d7a25329 88
fd206f0b 89 threads: number
1896bca0
C
90
91 profile: string
92
c6c0fa6c 93 resolutions: ConfigResolutions & { '0p': boolean }
d7a25329
C
94
95 webtorrent: {
96 enabled: boolean
97 }
98
09209296
C
99 hls: {
100 enabled: boolean
101 }
fd206f0b 102 }
5d08a6a7 103
c6c0fa6c
C
104 live: {
105 enabled: boolean
106
fb719404 107 allowReplay: boolean
a056ca48 108
fb719404 109 maxDuration: number
a056ca48
C
110 maxInstanceLives: number
111 maxUserLives: number
fb719404 112
c6c0fa6c
C
113 transcoding: {
114 enabled: boolean
115 threads: number
1896bca0 116 profile: string
c6c0fa6c
C
117 resolutions: ConfigResolutions
118 }
119 }
120
5d08a6a7
C
121 import: {
122 videos: {
123 http: {
124 enabled: boolean
a1587156 125 }
a84b8fa5
C
126 torrent: {
127 enabled: boolean
5d08a6a7
C
128 }
129 }
130 }
7ccddd7b 131
ba5d4a84
RK
132 trending: {
133 videos: {
134 algorithms: {
135 enabled: string[]
136 default: string
137 }
138 }
139 }
140
7ccddd7b
JM
141 autoBlacklist: {
142 videos: {
143 ofUsers: {
144 enabled: boolean
145 }
146 }
147 }
148
5b9c965d
C
149 followers: {
150 instance: {
a1587156 151 enabled: boolean
14893eb7 152 manualApproval: boolean
5b9c965d
C
153 }
154 }
155
8424c402
C
156 followings: {
157 instance: {
158 autoFollowBack: {
159 enabled: boolean
160 }
161
162 autoFollowIndex: {
163 enabled: boolean
164 indexUrl: string
165 }
166 }
167 }
72c33e71
C
168
169 broadcastMessage: {
170 enabled: boolean
171 message: string
172 level: BroadcastMessageLevel
173 dismissable: boolean
174 }
5fb2e288
C
175
176 search: {
177 remoteUri: {
178 users: boolean
179 anonymous: boolean
180 }
181
182 searchIndex: {
183 enabled: boolean
184 url: string
185 disableLocalSearch: boolean
186 isDefaultSearch: boolean
187 }
188 }
fd206f0b 189}