]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - shared/models/server/server-config.model.ts
Check live duration and size
[github/Chocobozzz/PeerTube.git] / shared / models / server / server-config.model.ts
index 76e0d6f2ddfa562ae42b4a8efd720a4636d8f22f..1563d848e81d98f649bdf18e6858dfa51476324c 100644 (file)
@@ -1,5 +1,6 @@
-import { NSFWPolicyType } from '../videos/nsfw-policy.type'
 import { ClientScript } from '../plugins/plugin-package-json.model'
+import { NSFWPolicyType } from '../videos/nsfw-policy.type'
+import { BroadcastMessageLevel } from './broadcast-message-level.type'
 
 export interface ServerConfigPlugin {
   name: string
@@ -12,6 +13,22 @@ export interface ServerConfigTheme extends ServerConfigPlugin {
   css: string[]
 }
 
+export interface RegisteredExternalAuthConfig {
+  npmName: string
+  name: string
+  version: string
+  authName: string
+  authDisplayName: string
+}
+
+export interface RegisteredIdAndPassAuthConfig {
+  npmName: string
+  name: string
+  version: string
+  authName: string
+  weight: number
+}
+
 export interface ServerConfig {
   serverVersion: string
   serverCommit?: string
@@ -28,8 +45,26 @@ export interface ServerConfig {
     }
   }
 
+  search: {
+    remoteUri: {
+      users: boolean
+      anonymous: boolean
+    }
+
+    searchIndex: {
+      enabled: boolean
+      url: string
+      disableLocalSearch: boolean
+      isDefaultSearch: boolean
+    }
+  }
+
   plugin: {
     registered: ServerConfigPlugin[]
+
+    registeredExternalAuths: RegisteredExternalAuthConfig[]
+
+    registeredIdAndPassAuths: RegisteredIdAndPassAuthConfig[]
   }
 
   theme: {
@@ -63,6 +98,19 @@ export interface ServerConfig {
     enabledResolutions: number[]
   }
 
+  live: {
+    enabled: boolean
+
+    maxDuration: number
+    allowReplay: boolean
+
+    transcoding: {
+      enabled: boolean
+
+      enabledResolutions: number[]
+    }
+  }
+
   import: {
     videos: {
       http: {
@@ -134,4 +182,11 @@ export interface ServerConfig {
       }
     }
   }
+
+  broadcastMessage: {
+    enabled: boolean
+    message: string
+    level: BroadcastMessageLevel
+    dismissable: boolean
+  }
 }