]>
Commit | Line | Data |
---|---|---|
0883b324 | 1 | import { NSFWPolicyType } from '../videos/nsfw-policy.type' |
18a6f04c C |
2 | import { ClientScript } from '../plugins/plugin-package-json.model' |
3 | ||
ffb321be | 4 | export interface ServerConfigPlugin { |
18a6f04c C |
5 | name: string |
6 | version: string | |
7 | description: string | |
e8f902c0 | 8 | clientScripts: { [name: string]: ClientScript } |
18a6f04c | 9 | } |
0883b324 | 10 | |
ffb321be C |
11 | export interface ServerConfigTheme extends ServerConfigPlugin { |
12 | css: string[] | |
13 | } | |
14 | ||
4a8d113b C |
15 | export interface RegisteredExternalAuthConfig { |
16 | npmName: string | |
ebefc902 C |
17 | name: string |
18 | version: string | |
4a8d113b C |
19 | authName: string |
20 | authDisplayName: string | |
21 | } | |
22 | ||
23 | export interface RegisteredIdAndPassAuthConfig { | |
24 | npmName: string | |
ebefc902 C |
25 | name: string |
26 | version: string | |
4a8d113b C |
27 | authName: string |
28 | weight: number | |
29 | } | |
30 | ||
154898b0 | 31 | export interface ServerConfig { |
36f9424f | 32 | serverVersion: string |
abb2c792 | 33 | serverCommit?: string |
36f9424f C |
34 | |
35 | instance: { | |
901637bb | 36 | name: string |
2e3a0215 | 37 | shortDescription: string |
901637bb | 38 | defaultClientRoute: string |
f8802489 | 39 | isNSFW: boolean |
0883b324 | 40 | defaultNSFWPolicy: NSFWPolicyType |
00b5556c C |
41 | customizations: { |
42 | javascript: string | |
43 | css: string | |
44 | } | |
36f9424f C |
45 | } |
46 | ||
9677fca7 RK |
47 | search: { |
48 | remoteUri: { | |
49 | users: boolean | |
50 | anonymous: boolean | |
51 | } | |
52 | } | |
53 | ||
7cd4d2ba C |
54 | plugin: { |
55 | registered: ServerConfigPlugin[] | |
4a8d113b C |
56 | |
57 | registeredExternalAuths: RegisteredExternalAuthConfig[] | |
58 | ||
59 | registeredIdAndPassAuths: RegisteredIdAndPassAuthConfig[] | |
7cd4d2ba C |
60 | } |
61 | ||
62 | theme: { | |
ffb321be | 63 | registered: ServerConfigTheme[] |
7cd4d2ba C |
64 | default: string |
65 | } | |
18a6f04c | 66 | |
3b3b1820 C |
67 | email: { |
68 | enabled: boolean | |
69 | } | |
70 | ||
a4101923 C |
71 | contactForm: { |
72 | enabled: boolean | |
73 | } | |
74 | ||
154898b0 | 75 | signup: { |
a1587156 | 76 | allowed: boolean |
09209296 | 77 | allowedForCurrentIP: boolean |
d9eaee39 | 78 | requiresEmailVerification: boolean |
154898b0 | 79 | } |
36f9424f | 80 | |
6a84aafd | 81 | transcoding: { |
09209296 C |
82 | hls: { |
83 | enabled: boolean | |
84 | } | |
85 | ||
d7a25329 C |
86 | webtorrent: { |
87 | enabled: boolean | |
88 | } | |
89 | ||
6a84aafd C |
90 | enabledResolutions: number[] |
91 | } | |
36f9424f | 92 | |
5d08a6a7 | 93 | import: { |
b2977eec | 94 | videos: { |
5d08a6a7 C |
95 | http: { |
96 | enabled: boolean | |
97 | } | |
a84b8fa5 C |
98 | torrent: { |
99 | enabled: boolean | |
100 | } | |
5d08a6a7 C |
101 | } |
102 | } | |
103 | ||
7ccddd7b JM |
104 | autoBlacklist: { |
105 | videos: { | |
106 | ofUsers: { | |
107 | enabled: boolean | |
108 | } | |
109 | } | |
110 | } | |
111 | ||
01de67b9 C |
112 | avatar: { |
113 | file: { | |
114 | size: { | |
115 | max: number | |
09209296 | 116 | } |
01de67b9 C |
117 | extensions: string[] |
118 | } | |
119 | } | |
36f9424f | 120 | |
01de67b9 | 121 | video: { |
6de36768 C |
122 | image: { |
123 | size: { | |
124 | max: number | |
125 | } | |
126 | extensions: string[] | |
a1587156 | 127 | } |
01de67b9 C |
128 | file: { |
129 | extensions: string[] | |
130 | } | |
131 | } | |
1869c875 | 132 | |
40e87e9e C |
133 | videoCaption: { |
134 | file: { | |
135 | size: { | |
136 | max: number | |
a1587156 | 137 | } |
40e87e9e C |
138 | extensions: string[] |
139 | } | |
140 | } | |
141 | ||
1869c875 RK |
142 | user: { |
143 | videoQuota: number | |
bee0abff | 144 | videoQuotaDaily: number |
1869c875 | 145 | } |
9b4b15f9 AB |
146 | |
147 | trending: { | |
148 | videos: { | |
149 | intervalDays: number | |
150 | } | |
151 | } | |
31b6ddf8 C |
152 | |
153 | tracker: { | |
154 | enabled: boolean | |
155 | } | |
000eb0e4 RK |
156 | |
157 | followings: { | |
158 | instance: { | |
159 | autoFollowIndex: { | |
160 | indexUrl: string | |
161 | } | |
162 | } | |
163 | } | |
154898b0 | 164 | } |