]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - shared/models/server/custom-config.model.ts
Check live duration and size
[github/Chocobozzz/PeerTube.git] / shared / models / server / custom-config.model.ts
index 07e17bda2b973120a886c8a32f3e6b5da1d15d20..11b2ef2ebbd21b9639bbfce7218263b9b910e5d5 100644 (file)
@@ -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: {
@@ -74,15 +84,7 @@ export interface CustomConfig {
     allowAudioFiles: boolean
 
     threads: number
-    resolutions: {
-      '0p': boolean
-      '240p': boolean
-      '360p': boolean
-      '480p': boolean
-      '720p': boolean
-      '1080p': boolean
-      '2160p': boolean
-    }
+    resolutions: ConfigResolutions & { '0p': boolean }
 
     webtorrent: {
       enabled: boolean
@@ -93,6 +95,19 @@ export interface CustomConfig {
     }
   }
 
+  live: {
+    enabled: boolean
+
+    allowReplay: boolean
+    maxDuration: number
+
+    transcoding: {
+      enabled: boolean
+      threads: number
+      resolutions: ConfigResolutions
+    }
+  }
+
   import: {
     videos: {
       http: {
@@ -131,4 +146,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
+    }
+  }
 }