Add ability to override login signup message
[oweals/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       '0p': boolean
79       '240p': boolean
80       '360p': boolean
81       '480p': boolean
82       '720p': boolean
83       '1080p': boolean
84       '2160p': boolean
85     }
86
87     webtorrent: {
88       enabled: boolean
89     }
90
91     hls: {
92       enabled: boolean
93     }
94   }
95
96   import: {
97     videos: {
98       http: {
99         enabled: boolean
100       }
101       torrent: {
102         enabled: boolean
103       }
104     }
105   }
106
107   autoBlacklist: {
108     videos: {
109       ofUsers: {
110         enabled: boolean
111       }
112     }
113   }
114
115   followers: {
116     instance: {
117       enabled: boolean
118       manualApproval: boolean
119     }
120   }
121
122   followings: {
123     instance: {
124       autoFollowBack: {
125         enabled: boolean
126       }
127
128       autoFollowIndex: {
129         enabled: boolean
130         indexUrl: string
131       }
132     }
133   }
134 }