X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Fserver%2Fserver-config.model.ts;h=67ad809f7a96e2cc564c2642649723e36b89f0a4;hb=ebb9e53ada156249ed8e8cfd1de74097d3eb49d7;hp=2c5026b30a3c0ef41b9515a3ecf338046220e632;hpb=96d52038788dda2f479362ce8e980f895369eec7;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/server/server-config.model.ts b/shared/models/server/server-config.model.ts index 2c5026b30..67ad809f7 100644 --- a/shared/models/server/server-config.model.ts +++ b/shared/models/server/server-config.model.ts @@ -1,12 +1,14 @@ -import { ClientScript } from '../plugins/plugin-package-json.model' +import { VideoPrivacy } from '../videos/video-privacy.enum' +import { ClientScriptJSON } 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 + npmName: string version: string description: string - clientScripts: { [name: string]: ClientScript } + clientScripts: { [name: string]: ClientScriptJSON } } export interface ServerConfigTheme extends ServerConfigPlugin { @@ -33,6 +35,51 @@ export interface ServerConfig { serverVersion: string serverCommit?: string + client: { + videos: { + miniature: { + displayAuthorAvatar: boolean + preferAuthorDisplayName: boolean + } + resumableUpload: { + maxChunkSize: number + } + } + + menu: { + login: { + redirectOnSingleExternalAuth: boolean + } + } + } + + defaults: { + publish: { + downloadEnabled: boolean + commentsEnabled: boolean + privacy: VideoPrivacy + licence: number + } + + p2p: { + webapp: { + enabled: boolean + } + + embed: { + enabled: boolean + } + } + } + + webadmin: { + configuration: { + edition: { + allowed: boolean + } + } + } + instance: { name: string shortDescription: string @@ -84,6 +131,7 @@ export interface ServerConfig { allowed: boolean allowedForCurrentIP: boolean requiresEmailVerification: boolean + minimumAge: number } transcoding: { @@ -104,10 +152,14 @@ export interface ServerConfig { live: { enabled: boolean + allowReplay: boolean + latencySetting: { + enabled: boolean + } + maxDuration: number maxInstanceLives: number maxUserLives: number - allowReplay: boolean transcoding: { enabled: boolean @@ -123,6 +175,10 @@ export interface ServerConfig { } } + videoStudio: { + enabled: boolean + } + import: { videos: { http: { @@ -186,6 +242,10 @@ export interface ServerConfig { videoQuotaDaily: number } + videoChannels: { + maxPerUser: number + } + trending: { videos: { intervalDays: number @@ -214,6 +274,10 @@ export interface ServerConfig { level: BroadcastMessageLevel dismissable: boolean } + + homepage: { + enabled: boolean + } } export type HTMLServerConfig = Omit