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 {
40 showAuthorDisplayName: boolean
47 shortDescription: string
49 defaultNSFWPolicy: NSFWPolicyType
50 defaultClientRoute: string
66 disableLocalSearch: boolean
67 isDefaultSearch: boolean
72 registered: ServerConfigPlugin[]
74 registeredExternalAuths: RegisteredExternalAuthConfig[]
76 registeredIdAndPassAuths: RegisteredIdAndPassAuthConfig[]
80 registered: ServerConfigTheme[]
94 allowedForCurrentIP: boolean
95 requiresEmailVerification: boolean
108 enabledResolutions: number[]
111 availableProfiles: string[]
118 maxInstanceLives: number
125 enabledResolutions: number[]
128 availableProfiles: string[]
196 videoQuotaDaily: number
224 level: BroadcastMessageLevel
233 export type HTMLServerConfig = Omit<ServerConfig, 'signup'>