X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Fserver%2Fcustom-config.model.ts;h=11b2ef2ebbd21b9639bbfce7218263b9b910e5d5;hb=fb7194043d0486ce0a6a40b2ffbdf32878c33a6f;hp=46320435deb40fcfa662ba8abc5cf37102b2c917;hpb=5d08a6a74e83f2e4dfe2f3ba7f5a39371e1bc89e;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/server/custom-config.model.ts b/shared/models/server/custom-config.model.ts index 46320435d..11b2ef2eb 100644 --- a/shared/models/server/custom-config.model.ts +++ b/shared/models/server/custom-config.model.ts @@ -1,4 +1,14 @@ 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 + '2160p': boolean +} export interface CustomConfig { instance: { @@ -6,6 +16,19 @@ export interface CustomConfig { shortDescription: string description: string 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 customizations: { @@ -14,6 +37,10 @@ export interface CustomConfig { } } + theme: { + default: string + } + services: { twitter: { username: string @@ -34,25 +61,50 @@ export interface CustomConfig { signup: { enabled: boolean limit: number + requiresEmailVerification: boolean } admin: { email: string } + contactForm: { + enabled: boolean + } + user: { videoQuota: number + videoQuotaDaily: number } transcoding: { enabled: boolean + + allowAdditionalExtensions: boolean + allowAudioFiles: boolean + threads: number - resolutions: { - '240p': boolean - '360p': boolean - '480p': boolean - '720p': boolean - '1080p': boolean + resolutions: ConfigResolutions & { '0p': boolean } + + webtorrent: { + enabled: boolean + } + + hls: { + enabled: boolean + } + } + + live: { + enabled: boolean + + allowReplay: boolean + maxDuration: number + + transcoding: { + enabled: boolean + threads: number + resolutions: ConfigResolutions } } @@ -61,6 +113,58 @@ export interface CustomConfig { http: { enabled: boolean } + torrent: { + enabled: boolean + } + } + } + + autoBlacklist: { + videos: { + ofUsers: { + enabled: boolean + } + } + } + + followers: { + instance: { + enabled: boolean + manualApproval: boolean + } + } + + followings: { + instance: { + autoFollowBack: { + enabled: boolean + } + + autoFollowIndex: { + enabled: boolean + indexUrl: string + } + } + } + + broadcastMessage: { + enabled: boolean + message: string + level: BroadcastMessageLevel + dismissable: boolean + } + + search: { + remoteUri: { + users: boolean + anonymous: boolean + } + + searchIndex: { + enabled: boolean + url: string + disableLocalSearch: boolean + isDefaultSearch: boolean } } }