From 5032cbf65a9175a0345f2bbefeb4ee8835ca6007 Mon Sep 17 00:00:00 2001 From: Carlos Valente Date: Thu, 12 Dec 2024 19:58:27 +0100 Subject: [PATCH] refactor: prevent instantiating unavailable services --- apps/server/src/app.ts | 27 ++++++++++++++++----------- apps/server/src/externals.ts | 2 +- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/apps/server/src/app.ts b/apps/server/src/app.ts index 6f6cf9ac5..576edb2d6 100644 --- a/apps/server/src/app.ts +++ b/apps/server/src/app.ts @@ -10,7 +10,7 @@ import { extname } from 'node:path'; // import utils import { publicDir, srcDir, srcFiles } from './setup/index.js'; -import { environment, isProduction, updateRouterPrefix } from './externals.js'; +import { environment, isOntimeCloud, isProduction, updateRouterPrefix } from './externals.js'; import { ONTIME_VERSION } from './ONTIME_VERSION.js'; import { consoleSuccess, consoleHighlight, consoleError } from './utils/console.js'; @@ -249,16 +249,6 @@ export const startIntegrations = async () => { // if a config is not provided, we use the persisted one const { osc, http } = getDataProvider().getData(); - if (osc) { - logger.info(LogOrigin.Tx, 'Initialising OSC Integration...'); - try { - oscIntegration.init(osc); - integrationService.register(oscIntegration); - } catch (error) { - logger.error(LogOrigin.Tx, 'OSC Integration initialisation failed'); - } - } - if (http) { logger.info(LogOrigin.Tx, 'Initialising HTTP Integration...'); try { @@ -268,6 +258,21 @@ export const startIntegrations = async () => { logger.error(LogOrigin.Tx, `HTTP Integration initialisation failed: ${error}`); } } + + if (isOntimeCloud) { + logger.info(LogOrigin.Tx, 'Skipping OSC in Cloud environment...'); + return; + } + + if (osc) { + logger.info(LogOrigin.Tx, 'Initialising OSC Integration...'); + try { + oscIntegration.init(osc); + integrationService.register(oscIntegration); + } catch (error) { + logger.error(LogOrigin.Tx, 'OSC Integration initialisation failed'); + } + } }; /** diff --git a/apps/server/src/externals.ts b/apps/server/src/externals.ts index 6bbbab2dd..13e886e41 100644 --- a/apps/server/src/externals.ts +++ b/apps/server/src/externals.ts @@ -14,7 +14,7 @@ export const isTest = Boolean(process.env.IS_TEST); export const environment = isTest ? 'test' : env; export const isDocker = env === 'docker'; export const isProduction = isDocker || (env === 'production' && !isTest); - +export const isOntimeCloud = Boolean(process.env.IS_CLOUD); /** * Updates the router prefix in the index.html file * This is only needed in the cloud environment where the client is not at the root segment