import { NSFWPolicyType } from '../videos/nsfw-policy.type'
import { ClientScript } from '../plugins/plugin-package-json.model'
-export type ServerConfigPlugin = {
+export interface ServerConfigPlugin {
name: string
version: string
description: string
clientScripts: { [name: string]: ClientScript }
}
+export interface ServerConfigTheme extends ServerConfigPlugin {
+ css: string[]
+}
+
export interface ServerConfig {
serverVersion: string
serverCommit?: string
}
}
+ search: {
+ remoteUri: {
+ users: boolean
+ anonymous: boolean
+ }
+ }
+
plugin: {
registered: ServerConfigPlugin[]
}
theme: {
- registered: ServerConfigPlugin[]
+ registered: ServerConfigTheme[]
default: string
}
}
signup: {
- allowed: boolean,
+ allowed: boolean
allowedForCurrentIP: boolean
requiresEmailVerification: boolean
}
enabled: boolean
}
+ webtorrent: {
+ enabled: boolean
+ }
+
enabledResolutions: number[]
}
max: number
}
extensions: string[]
- },
+ }
file: {
extensions: string[]
}
file: {
size: {
max: number
- },
+ }
extensions: string[]
}
}
tracker: {
enabled: boolean
}
+
+ followings: {
+ instance: {
+ autoFollowIndex: {
+ indexUrl: string
+ }
+ }
+ }
}