From aea0b0e7cde7495e60fe07b4444067f53d35ce3f Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 14 May 2021 12:04:44 +0200 Subject: Inject server config in HTML --- server/lib/config.ts | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'server/lib/config.ts') diff --git a/server/lib/config.ts b/server/lib/config.ts index fed468fe1..18d49f05a 100644 --- a/server/lib/config.ts +++ b/server/lib/config.ts @@ -2,17 +2,13 @@ import { isSignupAllowed, isSignupAllowedForCurrentIP } from '@server/helpers/si 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 { RegisteredExternalAuthConfig, RegisteredIdAndPassAuthConfig, ServerConfig } from '@shared/models' +import { HTMLServerConfig, RegisteredExternalAuthConfig, RegisteredIdAndPassAuthConfig, ServerConfig } from '@shared/models' import { Hooks } from './plugins/hooks' import { PluginManager } from './plugins/plugin-manager' import { getThemeOrDefault } from './plugins/theme-utils' import { VideoTranscodingProfilesManager } from './transcoding/video-transcoding-profiles' -let serverCommit: string - async function getServerConfig (ip?: string): Promise { - if (serverCommit === undefined) serverCommit = await getServerCommit() - const { allowed } = await Hooks.wrapPromiseFun( isSignupAllowed, { @@ -22,6 +18,23 @@ async function getServerConfig (ip?: string): Promise { ) const allowedForCurrentIP = isSignupAllowedForCurrentIP(ip) + + const signup = { + allowed, + allowedForCurrentIP, + requiresEmailVerification: CONFIG.SIGNUP.REQUIRES_EMAIL_VERIFICATION + } + + const htmlConfig = await getHTMLServerConfig() + + return { ...htmlConfig, signup } +} + +// Config injected in HTML +let serverCommit: string +async function getHTMLServerConfig (): Promise { + if (serverCommit === undefined) serverCommit = await getServerCommit() + const defaultTheme = getThemeOrDefault(CONFIG.THEME.DEFAULT, DEFAULT_THEME_NAME) return { @@ -65,11 +78,6 @@ async function getServerConfig (ip?: string): Promise { }, serverVersion: PEERTUBE_VERSION, serverCommit, - signup: { - allowed, - allowedForCurrentIP, - requiresEmailVerification: CONFIG.SIGNUP.REQUIRES_EMAIL_VERIFICATION - }, transcoding: { hls: { enabled: CONFIG.TRANSCODING.HLS.ENABLED @@ -223,7 +231,8 @@ export { getServerConfig, getRegisteredThemes, getEnabledResolutions, - getRegisteredPlugins + getRegisteredPlugins, + getHTMLServerConfig } // --------------------------------------------------------------------------- -- cgit v1.2.3