1 import { ClientScript } from '../plugins/plugin-package-json.model'
2 import { NSFWPolicyType } from '../videos/nsfw-policy.type'
3 import { BroadcastMessageLevel } from './broadcast-message-level.type'
5 export interface ServerConfigPlugin {
9 clientScripts: { [name: string]: ClientScript }
12 export interface ServerConfigTheme extends ServerConfigPlugin {
16 export interface RegisteredExternalAuthConfig {
21 authDisplayName: string
24 export interface RegisteredIdAndPassAuthConfig {
32 export interface ServerConfig {
38 shortDescription: string
40 defaultNSFWPolicy: NSFWPolicyType
41 defaultClientRoute: string
42 defaultTrendingRoute: string
63 disableLocalSearch: boolean
64 isDefaultSearch: boolean
69 registered: ServerConfigPlugin[]
71 registeredExternalAuths: RegisteredExternalAuthConfig[]
73 registeredIdAndPassAuths: RegisteredIdAndPassAuthConfig[]
77 registered: ServerConfigTheme[]
91 allowedForCurrentIP: boolean
92 requiresEmailVerification: boolean
104 enabledResolutions: number[]
111 maxInstanceLives: number
118 enabledResolutions: number[]
177 videoQuotaDaily: number
201 level: BroadcastMessageLevel