]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - shared/models/server/custom-config.model.ts
First implem global search
[github/Chocobozzz/PeerTube.git] / shared / models / server / custom-config.model.ts
index c5156d9f3a5d224c081ef9fe3d7a4d47bd9fa723..338a5934108f60fce270e2b15b43a0b8e7d01d63 100644 (file)
@@ -1,4 +1,5 @@
 import { NSFWPolicyType } from '../videos/nsfw-policy.type'
+import { BroadcastMessageLevel } from './broadcast-message-level.type'
 
 export interface CustomConfig {
   instance: {
@@ -6,6 +7,19 @@ export interface CustomConfig {
     shortDescription: string
     description: string
     terms: string
+    codeOfConduct: string
+
+    creationReason: string
+    moderationInformation: string
+    administrator: string
+    maintenanceLifetime: string
+    businessModel: string
+    hardwareInformation: string
+
+    languages: string[]
+    categories: number[]
+
+    isNSFW: boolean
     defaultClientRoute: string
     defaultNSFWPolicy: NSFWPolicyType
     customizations: {
@@ -14,6 +28,10 @@ export interface CustomConfig {
     }
   }
 
+  theme: {
+    default: string
+  }
+
   services: {
     twitter: {
       username: string
@@ -41,6 +59,10 @@ export interface CustomConfig {
     email: string
   }
 
+  contactForm: {
+    enabled: boolean
+  }
+
   user: {
     videoQuota: number
     videoQuotaDaily: number
@@ -48,14 +70,27 @@ export interface CustomConfig {
 
   transcoding: {
     enabled: boolean
+
+    allowAdditionalExtensions: boolean
+    allowAudioFiles: boolean
+
     threads: number
     resolutions: {
+      '0p': boolean
       '240p': boolean
       '360p': boolean
       '480p': boolean
       '720p': boolean
       '1080p': boolean
-      [key: string]: boolean
+      '2160p': boolean
+    }
+
+    webtorrent: {
+      enabled: boolean
+    }
+
+    hls: {
+      enabled: boolean
     }
   }
 
@@ -63,10 +98,59 @@ export interface CustomConfig {
     videos: {
       http: {
         enabled: boolean
-      },
+      }
       torrent: {
         enabled: boolean
       }
     }
   }
+
+  autoBlacklist: {
+    videos: {
+      ofUsers: {
+        enabled: boolean
+      }
+    }
+  }
+
+  followers: {
+    instance: {
+      enabled: boolean
+      manualApproval: boolean
+    }
+  }
+
+  followings: {
+    instance: {
+      autoFollowBack: {
+        enabled: boolean
+      }
+
+      autoFollowIndex: {
+        enabled: boolean
+        indexUrl: string
+      }
+    }
+  }
+
+  broadcastMessage: {
+    enabled: boolean
+    message: string
+    level: BroadcastMessageLevel
+    dismissable: boolean
+  }
+
+  search: {
+    remoteUri: {
+      users: boolean
+      anonymous: boolean
+    }
+
+    searchIndex: {
+      enabled: boolean
+      url: string
+      disableLocalSearch: boolean
+      isDefaultSearch: boolean
+    }
+  }
 }