]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - shared/models/server/custom-config.model.ts
Merge branch 'release/4.3.0' into develop
[github/Chocobozzz/PeerTube.git] / shared / models / server / custom-config.model.ts
index 11b2ef2ebbd21b9639bbfce7218263b9b910e5d5..7d9d570b1047e4966161f196da122ae7ebb12ec7 100644 (file)
@@ -2,11 +2,13 @@ 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
 }
 
@@ -29,8 +31,10 @@ export interface CustomConfig {
     categories: number[]
 
     isNSFW: boolean
-    defaultClientRoute: string
     defaultNSFWPolicy: NSFWPolicyType
+
+    defaultClientRoute: string
+
     customizations: {
       javascript?: string
       css?: string
@@ -48,6 +52,20 @@ export interface CustomConfig {
     }
   }
 
+  client: {
+    videos: {
+      miniature: {
+        preferAuthorDisplayName: boolean
+      }
+    }
+
+    menu: {
+      login: {
+        redirectOnSingleExternalAuth: boolean
+      }
+    }
+  }
+
   cache: {
     previews: {
       size: number
@@ -56,12 +74,17 @@ export interface CustomConfig {
     captions: {
       size: number
     }
+
+    torrents: {
+      size: number
+    }
   }
 
   signup: {
     enabled: boolean
     limit: number
     requiresEmailVerification: boolean
+    minimumAge: number
   }
 
   admin: {
@@ -77,6 +100,10 @@ export interface CustomConfig {
     videoQuotaDaily: number
   }
 
+  videoChannels: {
+    maxPerUser: number
+  }
+
   transcoding: {
     enabled: boolean
 
@@ -84,8 +111,14 @@ export interface CustomConfig {
     allowAudioFiles: boolean
 
     threads: number
+    concurrency: number
+
+    profile: string
+
     resolutions: ConfigResolutions & { '0p': boolean }
 
+    alwaysTranscodeOriginalResolution: boolean
+
     webtorrent: {
       enabled: boolean
     }
@@ -99,17 +132,32 @@ export interface CustomConfig {
     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
       }
@@ -117,6 +165,19 @@ export interface CustomConfig {
         enabled: boolean
       }
     }
+    videoChannelSynchronization: {
+      enabled: boolean
+      maxPerUser: number
+    }
+  }
+
+  trending: {
+    videos: {
+      algorithms: {
+        enabled: string[]
+        default: string
+      }
+    }
   }
 
   autoBlacklist: {