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