X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Fserver%2Fserver-config.model.ts;h=47d0e623bc467fb156c8a3f8a27105d9f0c4f5cf;hb=ba5d4a849c7d7ba05f093480ae12286c4af61556;hp=c3976a3461c35375ccfb0411bc98a3e644f0d996;hpb=9677fca772349248925da6c5f34f600e9a2abbe6;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/server/server-config.model.ts b/shared/models/server/server-config.model.ts index c3976a346..47d0e623b 100644 --- a/shared/models/server/server-config.model.ts +++ b/shared/models/server/server-config.model.ts @@ -1,5 +1,6 @@ -import { NSFWPolicyType } from '../videos/nsfw-policy.type' import { ClientScript } from '../plugins/plugin-package-json.model' +import { NSFWPolicyType } from '../videos/nsfw-policy.type' +import { BroadcastMessageLevel } from './broadcast-message-level.type' export interface ServerConfigPlugin { name: string @@ -12,6 +13,22 @@ export interface ServerConfigTheme extends ServerConfigPlugin { css: string[] } +export interface RegisteredExternalAuthConfig { + npmName: string + name: string + version: string + authName: string + authDisplayName: string +} + +export interface RegisteredIdAndPassAuthConfig { + npmName: string + name: string + version: string + authName: string + weight: number +} + export interface ServerConfig { serverVersion: string serverCommit?: string @@ -19,9 +36,9 @@ export interface ServerConfig { instance: { name: string shortDescription: string - defaultClientRoute: string isNSFW: boolean defaultNSFWPolicy: NSFWPolicyType + defaultClientRoute: string customizations: { javascript: string css: string @@ -33,10 +50,21 @@ export interface ServerConfig { users: boolean anonymous: boolean } + + searchIndex: { + enabled: boolean + url: string + disableLocalSearch: boolean + isDefaultSearch: boolean + } } plugin: { registered: ServerConfigPlugin[] + + registeredExternalAuths: RegisteredExternalAuthConfig[] + + registeredIdAndPassAuths: RegisteredIdAndPassAuthConfig[] } theme: { @@ -70,6 +98,25 @@ export interface ServerConfig { enabledResolutions: number[] } + live: { + enabled: boolean + + maxDuration: number + maxInstanceLives: number + maxUserLives: number + allowReplay: boolean + + transcoding: { + enabled: boolean + + enabledResolutions: number[] + } + + rtmp: { + port: number + } + } + import: { videos: { http: { @@ -127,6 +174,10 @@ export interface ServerConfig { trending: { videos: { intervalDays: number + algorithms: { + enabled: string[] + default: string + } } } @@ -141,4 +192,11 @@ export interface ServerConfig { } } } + + broadcastMessage: { + enabled: boolean + message: string + level: BroadcastMessageLevel + dismissable: boolean + } }