X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Fserver%2Fcustom-config.model.ts;h=a57237414dd1d2688b7d30cbb881ef06c0c49212;hb=ba5d4a849c7d7ba05f093480ae12286c4af61556;hp=0c331a820601068f06c4a5b6128cf5cac900b018;hpb=ccc00cb2aac1360921b957f3ecb3be7eb55dfa1b;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/server/custom-config.model.ts b/shared/models/server/custom-config.model.ts index 0c331a820..a57237414 100644 --- a/shared/models/server/custom-config.model.ts +++ b/shared/models/server/custom-config.model.ts @@ -1,4 +1,15 @@ import { NSFWPolicyType } from '../videos/nsfw-policy.type' +import { BroadcastMessageLevel } from './broadcast-message-level.type' + +export type ConfigResolutions = { + '240p': boolean + '360p': boolean + '480p': boolean + '720p': boolean + '1080p': boolean + '1440p': boolean + '2160p': boolean +} export interface CustomConfig { instance: { @@ -8,17 +19,21 @@ export interface CustomConfig { terms: string codeOfConduct: string + creationReason: string moderationInformation: string administrator: string maintenanceLifetime: string businessModel: string + hardwareInformation: string languages: string[] categories: number[] isNSFW: boolean - defaultClientRoute: string defaultNSFWPolicy: NSFWPolicyType + + defaultClientRoute: string + customizations: { javascript?: string css?: string @@ -67,33 +82,58 @@ export interface CustomConfig { transcoding: { enabled: boolean + allowAdditionalExtensions: boolean allowAudioFiles: boolean + threads: number - resolutions: { - '240p': boolean - '360p': boolean - '480p': boolean - '720p': boolean - '1080p': boolean - '2160p': boolean + resolutions: ConfigResolutions & { '0p': boolean } + + webtorrent: { + enabled: boolean } + hls: { enabled: boolean } } + live: { + enabled: boolean + + allowReplay: boolean + + maxDuration: number + maxInstanceLives: number + maxUserLives: number + + transcoding: { + enabled: boolean + threads: number + resolutions: ConfigResolutions + } + } + import: { videos: { http: { enabled: boolean - }, + } torrent: { enabled: boolean } } } + trending: { + videos: { + algorithms: { + enabled: string[] + default: string + } + } + } + autoBlacklist: { videos: { ofUsers: { @@ -104,7 +144,7 @@ export interface CustomConfig { followers: { instance: { - enabled: boolean, + enabled: boolean manualApproval: boolean } } @@ -121,4 +161,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 + } + } }