]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - shared/models/server/server-config.model.ts
WIP plugins: add theme support
[github/Chocobozzz/PeerTube.git] / shared / models / server / server-config.model.ts
index baafed31faf8a7a6329399e9cc8b56f02d5d0091..d6c660aac05c56bda8d32ab237c1e7ed8b9b0873 100644 (file)
@@ -1,4 +1,12 @@
 import { NSFWPolicyType } from '../videos/nsfw-policy.type'
+import { ClientScript } from '../plugins/plugin-package-json.model'
+
+export type ServerConfigPlugin = {
+  name: string
+  version: string
+  description: string
+  clientScripts: { [name: string]: ClientScript }
+}
 
 export interface ServerConfig {
   serverVersion: string
@@ -8,6 +16,7 @@ export interface ServerConfig {
     name: string
     shortDescription: string
     defaultClientRoute: string
+    isNSFW: boolean
     defaultNSFWPolicy: NSFWPolicyType
     customizations: {
       javascript: string
@@ -15,6 +24,15 @@ export interface ServerConfig {
     }
   }
 
+  plugin: {
+    registered: ServerConfigPlugin[]
+  }
+
+  theme: {
+    registered: ServerConfigPlugin[]
+    default: string
+  }
+
   email: {
     enabled: boolean
   }
@@ -48,6 +66,14 @@ export interface ServerConfig {
     }
   }
 
+  autoBlacklist: {
+    videos: {
+      ofUsers: {
+        enabled: boolean
+      }
+    }
+  }
+
   avatar: {
     file: {
       size: {
@@ -88,4 +114,8 @@ export interface ServerConfig {
       intervalDays: number
     }
   }
+
+  tracker: {
+    enabled: boolean
+  }
 }