X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Fserver%2Fcustom-config.model.ts;h=bb9c7cef1855d284aa2bfe5ca021fcdf67cd27f0;hb=5a921e7b74910414626bfc9672b857e987e3ebed;hp=07e17bda2b973120a886c8a32f3e6b5da1d15d20;hpb=7cd1b12c19d0589d1d692ed0571ca0800f028aea;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/server/custom-config.model.ts b/shared/models/server/custom-config.model.ts index 07e17bda2..bb9c7cef1 100644 --- a/shared/models/server/custom-config.model.ts +++ b/shared/models/server/custom-config.model.ts @@ -1,4 +1,16 @@ import { NSFWPolicyType } from '../videos/nsfw-policy.type' +import { BroadcastMessageLevel } from './broadcast-message-level.type' + +export type ConfigResolutions = { + '144p': boolean + '240p': boolean + '360p': boolean + '480p': boolean + '720p': boolean + '1080p': boolean + '1440p': boolean + '2160p': boolean +} export interface CustomConfig { instance: { @@ -19,8 +31,10 @@ export interface CustomConfig { categories: number[] isNSFW: boolean - defaultClientRoute: string defaultNSFWPolicy: NSFWPolicyType + + defaultClientRoute: string + customizations: { javascript?: string css?: string @@ -38,6 +52,20 @@ export interface CustomConfig { } } + client: { + videos: { + miniature: { + preferAuthorDisplayName: boolean + } + } + + menu: { + login: { + redirectOnSingleExternalAuth: boolean + } + } + } + cache: { previews: { size: number @@ -46,12 +74,17 @@ export interface CustomConfig { captions: { size: number } + + torrents: { + size: number + } } signup: { enabled: boolean limit: number requiresEmailVerification: boolean + minimumAge: number } admin: { @@ -67,6 +100,10 @@ export interface CustomConfig { videoQuotaDaily: number } + videoChannels: { + maxPerUser: number + } + transcoding: { enabled: boolean @@ -74,15 +111,13 @@ export interface CustomConfig { allowAudioFiles: boolean threads: number - resolutions: { - '0p': boolean - '240p': boolean - '360p': boolean - '480p': boolean - '720p': boolean - '1080p': boolean - '2160p': boolean - } + concurrency: number + + profile: string + + resolutions: ConfigResolutions & { '0p': boolean } + + alwaysTranscodeOriginalResolution: boolean webtorrent: { enabled: boolean @@ -93,8 +128,36 @@ export interface CustomConfig { } } + live: { + enabled: boolean + + allowReplay: boolean + + latencySetting: { + enabled: boolean + } + + maxDuration: number + maxInstanceLives: number + maxUserLives: number + + transcoding: { + enabled: boolean + threads: number + profile: string + resolutions: ConfigResolutions + alwaysTranscodeOriginalResolution: boolean + } + } + + videoStudio: { + enabled: boolean + } + import: { videos: { + concurrency: number + http: { enabled: boolean } @@ -104,6 +167,15 @@ export interface CustomConfig { } } + trending: { + videos: { + algorithms: { + enabled: string[] + default: string + } + } + } + autoBlacklist: { videos: { ofUsers: { @@ -131,4 +203,25 @@ export interface CustomConfig { } } } + + broadcastMessage: { + enabled: boolean + message: string + level: BroadcastMessageLevel + dismissable: boolean + } + + search: { + remoteUri: { + users: boolean + anonymous: boolean + } + + searchIndex: { + enabled: boolean + url: string + disableLocalSearch: boolean + isDefaultSearch: boolean + } + } }