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 {
39 preferAuthorDisplayName: boolean
45 redirectOnSingleExternalAuth: boolean
60 shortDescription: string
62 defaultNSFWPolicy: NSFWPolicyType
63 defaultClientRoute: string
79 disableLocalSearch: boolean
80 isDefaultSearch: boolean
85 registered: ServerConfigPlugin[]
87 registeredExternalAuths: RegisteredExternalAuthConfig[]
89 registeredIdAndPassAuths: RegisteredIdAndPassAuthConfig[]
93 registered: ServerConfigTheme[]
107 allowedForCurrentIP: boolean
108 requiresEmailVerification: boolean
121 enabledResolutions: number[]
124 availableProfiles: string[]
131 maxInstanceLives: number
138 enabledResolutions: number[]
141 availableProfiles: string[]
209 videoQuotaDaily: number
241 level: BroadcastMessageLevel
250 export type HTMLServerConfig = Omit<ServerConfig, 'signup'>