]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - shared/models/server/server-config.model.ts
Add plugin hook on transcoding resolutions building
[github/Chocobozzz/PeerTube.git] / shared / models / server / server-config.model.ts
index df9380844cf8a1a4c263f02018b360d1ea1b40bb..67ad809f7a96e2cc564c2642649723e36b89f0a4 100644 (file)
@@ -1,12 +1,14 @@
-import { ClientScript } from '../plugins/plugin-package-json.model'
+import { VideoPrivacy } from '../videos/video-privacy.enum'
+import { ClientScriptJSON } 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
+  npmName: string
   version: string
   description: string
-  clientScripts: { [name: string]: ClientScript }
+  clientScripts: { [name: string]: ClientScriptJSON }
 }
 
 export interface ServerConfigTheme extends ServerConfigPlugin {
@@ -30,14 +32,50 @@ export interface RegisteredIdAndPassAuthConfig {
 }
 
 export interface ServerConfig {
-  allowEdits: boolean
   serverVersion: string
   serverCommit?: string
 
   client: {
     videos: {
       miniature: {
-        showAuthorDisplayName: boolean
+        displayAuthorAvatar: boolean
+        preferAuthorDisplayName: boolean
+      }
+      resumableUpload: {
+        maxChunkSize: number
+      }
+    }
+
+    menu: {
+      login: {
+        redirectOnSingleExternalAuth: boolean
+      }
+    }
+  }
+
+  defaults: {
+    publish: {
+      downloadEnabled: boolean
+      commentsEnabled: boolean
+      privacy: VideoPrivacy
+      licence: number
+    }
+
+    p2p: {
+      webapp: {
+        enabled: boolean
+      }
+
+      embed: {
+        enabled: boolean
+      }
+    }
+  }
+
+  webadmin: {
+    configuration: {
+      edition: {
+        allowed: boolean
       }
     }
   }
@@ -114,10 +152,14 @@ export interface ServerConfig {
   live: {
     enabled: boolean
 
+    allowReplay: boolean
+    latencySetting: {
+      enabled: boolean
+    }
+
     maxDuration: number
     maxInstanceLives: number
     maxUserLives: number
-    allowReplay: boolean
 
     transcoding: {
       enabled: boolean
@@ -133,6 +175,10 @@ export interface ServerConfig {
     }
   }
 
+  videoStudio: {
+    enabled: boolean
+  }
+
   import: {
     videos: {
       http: {
@@ -196,6 +242,10 @@ export interface ServerConfig {
     videoQuotaDaily: number
   }
 
+  videoChannels: {
+    maxPerUser: number
+  }
+
   trending: {
     videos: {
       intervalDays: number