]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - shared/models/server/server-config.model.ts
d937e9c05a2d39b1c8039697cde01c022bcfc350
[github/Chocobozzz/PeerTube.git] / shared / models / server / server-config.model.ts
1 import { NSFWPolicyType } from '../videos/nsfw-policy.type'
2
3 export interface ServerConfig {
4 serverVersion: string
5 serverCommit?: string
6
7 instance: {
8 name: string
9 shortDescription: string
10 defaultClientRoute: string
11 isNSFW: boolean
12 defaultNSFWPolicy: NSFWPolicyType
13 customizations: {
14 javascript: string
15 css: string
16 }
17 }
18
19 email: {
20 enabled: boolean
21 }
22
23 contactForm: {
24 enabled: boolean
25 }
26
27 signup: {
28 allowed: boolean,
29 allowedForCurrentIP: boolean
30 requiresEmailVerification: boolean
31 }
32
33 transcoding: {
34 hls: {
35 enabled: boolean
36 }
37
38 enabledResolutions: number[]
39 }
40
41 import: {
42 videos: {
43 http: {
44 enabled: boolean
45 }
46 torrent: {
47 enabled: boolean
48 }
49 }
50 }
51
52 autoBlacklist: {
53 videos: {
54 ofUsers: {
55 enabled: boolean
56 }
57 }
58 }
59
60 avatar: {
61 file: {
62 size: {
63 max: number
64 }
65 extensions: string[]
66 }
67 }
68
69 video: {
70 image: {
71 size: {
72 max: number
73 }
74 extensions: string[]
75 },
76 file: {
77 extensions: string[]
78 }
79 }
80
81 videoCaption: {
82 file: {
83 size: {
84 max: number
85 },
86 extensions: string[]
87 }
88 }
89
90 user: {
91 videoQuota: number
92 videoQuotaDaily: number
93 }
94
95 trending: {
96 videos: {
97 intervalDays: number
98 }
99 }
100
101 tracker: {
102 enabled: boolean
103 }
104 }