X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Fserver%2Fserver-config.model.ts;h=0ff0792167d65076a22a112545de7ec0dafe9874;hb=4a8d113b9b57d97ff13ad1608798eabca99643e4;hp=0200d88ca7fc2806e60a3c322bb95e3fdf30838e;hpb=f8802489bbc2c0363b5668e47de7c35f573342e1;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/server/server-config.model.ts b/shared/models/server/server-config.model.ts index 0200d88ca..0ff079216 100644 --- a/shared/models/server/server-config.model.ts +++ b/shared/models/server/server-config.model.ts @@ -1,4 +1,28 @@ import { NSFWPolicyType } from '../videos/nsfw-policy.type' +import { ClientScript } from '../plugins/plugin-package-json.model' + +export interface ServerConfigPlugin { + name: string + version: string + description: string + clientScripts: { [name: string]: ClientScript } +} + +export interface ServerConfigTheme extends ServerConfigPlugin { + css: string[] +} + +export interface RegisteredExternalAuthConfig { + npmName: string + authName: string + authDisplayName: string +} + +export interface RegisteredIdAndPassAuthConfig { + npmName: string + authName: string + weight: number +} export interface ServerConfig { serverVersion: string @@ -16,6 +40,26 @@ export interface ServerConfig { } } + search: { + remoteUri: { + users: boolean + anonymous: boolean + } + } + + plugin: { + registered: ServerConfigPlugin[] + + registeredExternalAuths: RegisteredExternalAuthConfig[] + + registeredIdAndPassAuths: RegisteredIdAndPassAuthConfig[] + } + + theme: { + registered: ServerConfigTheme[] + default: string + } + email: { enabled: boolean } @@ -25,7 +69,7 @@ export interface ServerConfig { } signup: { - allowed: boolean, + allowed: boolean allowedForCurrentIP: boolean requiresEmailVerification: boolean } @@ -35,6 +79,10 @@ export interface ServerConfig { enabled: boolean } + webtorrent: { + enabled: boolean + } + enabledResolutions: number[] } @@ -49,6 +97,14 @@ export interface ServerConfig { } } + autoBlacklist: { + videos: { + ofUsers: { + enabled: boolean + } + } + } + avatar: { file: { size: { @@ -64,7 +120,7 @@ export interface ServerConfig { max: number } extensions: string[] - }, + } file: { extensions: string[] } @@ -74,7 +130,7 @@ export interface ServerConfig { file: { size: { max: number - }, + } extensions: string[] } } @@ -89,4 +145,16 @@ export interface ServerConfig { intervalDays: number } } + + tracker: { + enabled: boolean + } + + followings: { + instance: { + autoFollowIndex: { + indexUrl: string + } + } + } }