]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - shared/models/server/server-config.model.ts
Add external login buttons
[github/Chocobozzz/PeerTube.git] / shared / models / server / server-config.model.ts
CommitLineData
0883b324 1import { NSFWPolicyType } from '../videos/nsfw-policy.type'
18a6f04c
C
2import { ClientScript } from '../plugins/plugin-package-json.model'
3
ffb321be 4export 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
11export interface ServerConfigTheme extends ServerConfigPlugin {
12 css: string[]
13}
14
4a8d113b
C
15export interface RegisteredExternalAuthConfig {
16 npmName: string
ebefc902
C
17 name: string
18 version: string
4a8d113b
C
19 authName: string
20 authDisplayName: string
21}
22
23export interface RegisteredIdAndPassAuthConfig {
24 npmName: string
ebefc902
C
25 name: string
26 version: string
4a8d113b
C
27 authName: string
28 weight: number
29}
30
154898b0 31export 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}