]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - shared/models/server/server-config.model.ts
Merge branch 'release/2.1.0' into develop
[github/Chocobozzz/PeerTube.git] / shared / models / server / server-config.model.ts
1 import { NSFWPolicyType } from '../videos/nsfw-policy.type'
2 import { ClientScript } from '../plugins/plugin-package-json.model'
3
4 export interface ServerConfigPlugin {
5 name: string
6 version: string
7 description: string
8 clientScripts: { [name: string]: ClientScript }
9 }
10
11 export interface ServerConfigTheme extends ServerConfigPlugin {
12 css: string[]
13 }
14
15 export interface ServerConfig {
16 serverVersion: string
17 serverCommit?: string
18
19 instance: {
20 name: string
21 shortDescription: string
22 defaultClientRoute: string
23 isNSFW: boolean
24 defaultNSFWPolicy: NSFWPolicyType
25 customizations: {
26 javascript: string
27 css: string
28 }
29 }
30
31 plugin: {
32 registered: ServerConfigPlugin[]
33 }
34
35 theme: {
36 registered: ServerConfigTheme[]
37 default: string
38 }
39
40 email: {
41 enabled: boolean
42 }
43
44 contactForm: {
45 enabled: boolean
46 }
47
48 signup: {
49 allowed: boolean
50 allowedForCurrentIP: boolean
51 requiresEmailVerification: boolean
52 }
53
54 transcoding: {
55 hls: {
56 enabled: boolean
57 }
58
59 webtorrent: {
60 enabled: boolean
61 }
62
63 enabledResolutions: number[]
64 }
65
66 import: {
67 videos: {
68 http: {
69 enabled: boolean
70 }
71 torrent: {
72 enabled: boolean
73 }
74 }
75 }
76
77 autoBlacklist: {
78 videos: {
79 ofUsers: {
80 enabled: boolean
81 }
82 }
83 }
84
85 avatar: {
86 file: {
87 size: {
88 max: number
89 }
90 extensions: string[]
91 }
92 }
93
94 video: {
95 image: {
96 size: {
97 max: number
98 }
99 extensions: string[]
100 }
101 file: {
102 extensions: string[]
103 }
104 }
105
106 videoCaption: {
107 file: {
108 size: {
109 max: number
110 }
111 extensions: string[]
112 }
113 }
114
115 user: {
116 videoQuota: number
117 videoQuotaDaily: number
118 }
119
120 trending: {
121 videos: {
122 intervalDays: number
123 }
124 }
125
126 tracker: {
127 enabled: boolean
128 }
129
130 followings: {
131 instance: {
132 autoFollowIndex: {
133 indexUrl: string
134 }
135 }
136 }
137 }