X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Fserver%2Fserver-config.model.ts;h=c3976a3461c35375ccfb0411bc98a3e644f0d996;hb=e307e4fce39853d445d086f92b8c556c363ee15d;hp=7031009d9637834284e734204e707bd632562d21;hpb=a4101923e699e49ceb9ff36e971c75417fafc9f0;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/server/server-config.model.ts b/shared/models/server/server-config.model.ts index 7031009d9..c3976a346 100644 --- a/shared/models/server/server-config.model.ts +++ b/shared/models/server/server-config.model.ts @@ -1,4 +1,16 @@ 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 ServerConfig { serverVersion: string @@ -8,6 +20,7 @@ export interface ServerConfig { name: string shortDescription: string defaultClientRoute: string + isNSFW: boolean defaultNSFWPolicy: NSFWPolicyType customizations: { javascript: string @@ -15,6 +28,22 @@ export interface ServerConfig { } } + search: { + remoteUri: { + users: boolean + anonymous: boolean + } + } + + plugin: { + registered: ServerConfigPlugin[] + } + + theme: { + registered: ServerConfigTheme[] + default: string + } + email: { enabled: boolean } @@ -24,12 +53,20 @@ export interface ServerConfig { } signup: { - allowed: boolean, - allowedForCurrentIP: boolean, + allowed: boolean + allowedForCurrentIP: boolean requiresEmailVerification: boolean } transcoding: { + hls: { + enabled: boolean + } + + webtorrent: { + enabled: boolean + } + enabledResolutions: number[] } @@ -44,11 +81,19 @@ export interface ServerConfig { } } + autoBlacklist: { + videos: { + ofUsers: { + enabled: boolean + } + } + } + avatar: { file: { size: { max: number - }, + } extensions: string[] } } @@ -59,7 +104,7 @@ export interface ServerConfig { max: number } extensions: string[] - }, + } file: { extensions: string[] } @@ -69,7 +114,7 @@ export interface ServerConfig { file: { size: { max: number - }, + } extensions: string[] } } @@ -78,4 +123,22 @@ export interface ServerConfig { videoQuota: number videoQuotaDaily: number } + + trending: { + videos: { + intervalDays: number + } + } + + tracker: { + enabled: boolean + } + + followings: { + instance: { + autoFollowIndex: { + indexUrl: string + } + } + } }