X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Fserver%2Fserver-config.model.ts;h=1563d848e81d98f649bdf18e6858dfa51476324c;hb=fb7194043d0486ce0a6a40b2ffbdf32878c33a6f;hp=49bb01708cbae88876d9a7d7d5e549741044869c;hpb=93cae47925e4dd68b7d34a41927b2740b4fab1b4;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/server/server-config.model.ts b/shared/models/server/server-config.model.ts index 49bb01708..1563d848e 100644 --- a/shared/models/server/server-config.model.ts +++ b/shared/models/server/server-config.model.ts @@ -1,18 +1,34 @@ -import { NSFWPolicyType } from '../videos/nsfw-policy.type' import { ClientScript } from '../plugins/plugin-package-json.model' -import { PluginClientScope } from '../plugins/plugin-scope.type' +import { NSFWPolicyType } from '../videos/nsfw-policy.type' +import { BroadcastMessageLevel } from './broadcast-message-level.type' export interface ServerConfigPlugin { name: string version: string description: string - clientScripts: { [name in PluginClientScope]: ClientScript } + clientScripts: { [name: string]: ClientScript } } 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 @@ -29,8 +45,26 @@ export interface ServerConfig { } } + search: { + remoteUri: { + users: boolean + anonymous: boolean + } + + searchIndex: { + enabled: boolean + url: string + disableLocalSearch: boolean + isDefaultSearch: boolean + } + } + plugin: { registered: ServerConfigPlugin[] + + registeredExternalAuths: RegisteredExternalAuthConfig[] + + registeredIdAndPassAuths: RegisteredIdAndPassAuthConfig[] } theme: { @@ -47,7 +81,7 @@ export interface ServerConfig { } signup: { - allowed: boolean, + allowed: boolean allowedForCurrentIP: boolean requiresEmailVerification: boolean } @@ -57,9 +91,26 @@ export interface ServerConfig { enabled: boolean } + webtorrent: { + enabled: boolean + } + enabledResolutions: number[] } + live: { + enabled: boolean + + maxDuration: number + allowReplay: boolean + + transcoding: { + enabled: boolean + + enabledResolutions: number[] + } + } + import: { videos: { http: { @@ -94,7 +145,7 @@ export interface ServerConfig { max: number } extensions: string[] - }, + } file: { extensions: string[] } @@ -104,7 +155,7 @@ export interface ServerConfig { file: { size: { max: number - }, + } extensions: string[] } } @@ -123,4 +174,19 @@ export interface ServerConfig { tracker: { enabled: boolean } + + followings: { + instance: { + autoFollowIndex: { + indexUrl: string + } + } + } + + broadcastMessage: { + enabled: boolean + message: string + level: BroadcastMessageLevel + dismissable: boolean + } }