]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - shared/models/server/custom-config.model.ts
851bf1854d31a33748dc9acd68609b7fcd2807cd
[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 interface CustomConfig {
5 instance: {
6 name: string
7 shortDescription: string
8 description: string
9 terms: string
10 codeOfConduct: string
11
12 creationReason: string
13 moderationInformation: string
14 administrator: string
15 maintenanceLifetime: string
16 businessModel: string
17 hardwareInformation: string
18
19 languages: string[]
20 categories: number[]
21
22 isNSFW: boolean
23 defaultClientRoute: string
24 defaultNSFWPolicy: NSFWPolicyType
25 customizations: {
26 javascript?: string
27 css?: string
28 }
29 }
30
31 theme: {
32 default: string
33 }
34
35 services: {
36 twitter: {
37 username: string
38 whitelisted: boolean
39 }
40 }
41
42 cache: {
43 previews: {
44 size: number
45 }
46
47 captions: {
48 size: number
49 }
50 }
51
52 signup: {
53 enabled: boolean
54 limit: number
55 requiresEmailVerification: boolean
56 }
57
58 admin: {
59 email: string
60 }
61
62 contactForm: {
63 enabled: boolean
64 }
65
66 user: {
67 videoQuota: number
68 videoQuotaDaily: number
69 }
70
71 transcoding: {
72 enabled: boolean
73
74 allowAdditionalExtensions: boolean
75 allowAudioFiles: boolean
76
77 threads: number
78 resolutions: {
79 '0p': boolean
80 '240p': boolean
81 '360p': boolean
82 '480p': boolean
83 '720p': boolean
84 '1080p': boolean
85 '2160p': boolean
86 }
87
88 webtorrent: {
89 enabled: boolean
90 }
91
92 hls: {
93 enabled: boolean
94 }
95 }
96
97 import: {
98 videos: {
99 http: {
100 enabled: boolean
101 }
102 torrent: {
103 enabled: boolean
104 }
105 }
106 }
107
108 autoBlacklist: {
109 videos: {
110 ofUsers: {
111 enabled: boolean
112 }
113 }
114 }
115
116 followers: {
117 instance: {
118 enabled: boolean
119 manualApproval: boolean
120 }
121 }
122
123 followings: {
124 instance: {
125 autoFollowBack: {
126 enabled: boolean
127 }
128
129 autoFollowIndex: {
130 enabled: boolean
131 indexUrl: string
132 }
133 }
134 }
135
136 broadcastMessage: {
137 enabled: boolean
138 message: string
139 level: BroadcastMessageLevel
140 dismissable: boolean
141 }
142 }