]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - shared/models/server/custom-config.model.ts
add support for 1440p (Quad HD/QHD/WQHD) videos
[github/Chocobozzz/PeerTube.git] / shared / models / server / custom-config.model.ts
1 import { NSFWPolicyType } from '../videos/nsfw-policy.type'
2 import { BroadcastMessageLevel } from './broadcast-message-level.type'
3
4 export type ConfigResolutions = {
5 '240p': boolean
6 '360p': boolean
7 '480p': boolean
8 '720p': boolean
9 '1080p': boolean
10 '1440p': boolean
11 '2160p': boolean
12 }
13
14 export interface CustomConfig {
15 instance: {
16 name: string
17 shortDescription: string
18 description: string
19 terms: string
20 codeOfConduct: string
21
22 creationReason: string
23 moderationInformation: string
24 administrator: string
25 maintenanceLifetime: string
26 businessModel: string
27 hardwareInformation: string
28
29 languages: string[]
30 categories: number[]
31
32 isNSFW: boolean
33 defaultClientRoute: string
34 defaultNSFWPolicy: NSFWPolicyType
35 customizations: {
36 javascript?: string
37 css?: string
38 }
39 }
40
41 theme: {
42 default: string
43 }
44
45 services: {
46 twitter: {
47 username: string
48 whitelisted: boolean
49 }
50 }
51
52 cache: {
53 previews: {
54 size: number
55 }
56
57 captions: {
58 size: number
59 }
60 }
61
62 signup: {
63 enabled: boolean
64 limit: number
65 requiresEmailVerification: boolean
66 }
67
68 admin: {
69 email: string
70 }
71
72 contactForm: {
73 enabled: boolean
74 }
75
76 user: {
77 videoQuota: number
78 videoQuotaDaily: number
79 }
80
81 transcoding: {
82 enabled: boolean
83
84 allowAdditionalExtensions: boolean
85 allowAudioFiles: boolean
86
87 threads: number
88 resolutions: ConfigResolutions & { '0p': boolean }
89
90 webtorrent: {
91 enabled: boolean
92 }
93
94 hls: {
95 enabled: boolean
96 }
97 }
98
99 live: {
100 enabled: boolean
101
102 allowReplay: boolean
103
104 maxDuration: number
105 maxInstanceLives: number
106 maxUserLives: number
107
108 transcoding: {
109 enabled: boolean
110 threads: number
111 resolutions: ConfigResolutions
112 }
113 }
114
115 import: {
116 videos: {
117 http: {
118 enabled: boolean
119 }
120 torrent: {
121 enabled: boolean
122 }
123 }
124 }
125
126 autoBlacklist: {
127 videos: {
128 ofUsers: {
129 enabled: boolean
130 }
131 }
132 }
133
134 followers: {
135 instance: {
136 enabled: boolean
137 manualApproval: boolean
138 }
139 }
140
141 followings: {
142 instance: {
143 autoFollowBack: {
144 enabled: boolean
145 }
146
147 autoFollowIndex: {
148 enabled: boolean
149 indexUrl: string
150 }
151 }
152 }
153
154 broadcastMessage: {
155 enabled: boolean
156 message: string
157 level: BroadcastMessageLevel
158 dismissable: boolean
159 }
160
161 search: {
162 remoteUri: {
163 users: boolean
164 anonymous: boolean
165 }
166
167 searchIndex: {
168 enabled: boolean
169 url: string
170 disableLocalSearch: boolean
171 isDefaultSearch: boolean
172 }
173 }
174 }