]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/server-config-manager.ts
Use different p2p policy for embeds and webapp
[github/Chocobozzz/PeerTube.git] / server / lib / server-config-manager.ts
index 25a770c6bd75a52cecd2b34121f8fe717cd587b1..18032ef86c2822da659e23074c772ad4b2f5b9ff 100644 (file)
@@ -1,7 +1,7 @@
-import { isSignupAllowed, isSignupAllowedForCurrentIP } from '@server/helpers/signup'
 import { getServerCommit } from '@server/helpers/utils'
 import { CONFIG, isEmailEnabled } from '@server/initializers/config'
 import { CONSTRAINTS_FIELDS, DEFAULT_THEME_NAME, PEERTUBE_VERSION } from '@server/initializers/constants'
+import { isSignupAllowed, isSignupAllowedForCurrentIP } from '@server/lib/signup'
 import { ActorCustomPageModel } from '@server/models/account/actor-custom-page'
 import { HTMLServerConfig, RegisteredExternalAuthConfig, RegisteredIdAndPassAuthConfig, ServerConfig } from '@shared/models'
 import { Hooks } from './plugins/hooks'
@@ -42,6 +42,44 @@ class ServerConfigManager {
     const defaultTheme = getThemeOrDefault(CONFIG.THEME.DEFAULT, DEFAULT_THEME_NAME)
 
     return {
+      client: {
+        videos: {
+          miniature: {
+            preferAuthorDisplayName: CONFIG.CLIENT.VIDEOS.MINIATURE.PREFER_AUTHOR_DISPLAY_NAME
+          }
+        },
+        menu: {
+          login: {
+            redirectOnSingleExternalAuth: CONFIG.CLIENT.MENU.LOGIN.REDIRECT_ON_SINGLE_EXTERNAL_AUTH
+          }
+        }
+      },
+
+      defaults: {
+        publish: {
+          downloadEnabled: CONFIG.DEFAULTS.PUBLISH.DOWNLOAD_ENABLED,
+          commentsEnabled: CONFIG.DEFAULTS.PUBLISH.COMMENTS_ENABLED,
+          privacy: CONFIG.DEFAULTS.PUBLISH.PRIVACY,
+          licence: CONFIG.DEFAULTS.PUBLISH.LICENCE
+        },
+        p2p: {
+          webapp: {
+            enabled: CONFIG.DEFAULTS.P2P.WEBAPP.ENABLED
+          },
+          embed: {
+            enabled: CONFIG.DEFAULTS.P2P.EMBED.ENABLED
+          }
+        }
+      },
+
+      webadmin: {
+        configuration: {
+          edition: {
+            allowed: CONFIG.WEBADMIN.CONFIGURATION.EDITION.ALLOWED
+          }
+        }
+      },
+
       instance: {
         name: CONFIG.INSTANCE.NAME,
         shortDescription: CONFIG.INSTANCE.SHORT_DESCRIPTION,
@@ -168,6 +206,9 @@ class ServerConfigManager {
         videoQuota: CONFIG.USER.VIDEO_QUOTA,
         videoQuotaDaily: CONFIG.USER.VIDEO_QUOTA_DAILY
       },
+      videoChannels: {
+        maxPerUser: CONFIG.VIDEO_CHANNELS.MAX_PER_USER
+      },
       trending: {
         videos: {
           intervalDays: CONFIG.TRENDING.VIDEOS.INTERVAL_DAYS,