UI Server: Add support for cloud foundry deployment
[e-mobility-charging-stations-simulator.git] / src / utils / Configuration.ts
index c90c214d91b829ef1d558d02fc227e06a9abd706..86763f988ae96c52a97f8b7c7b194f075fbda4ae 100644 (file)
@@ -59,7 +59,7 @@ export default class Configuration {
       );
     }
     let uiServerConfiguration: UIServerConfiguration = {
-      enabled: true,
+      enabled: false,
       type: ApplicationProtocol.WS,
       options: {
         host: Constants.DEFAULT_UI_WEBSOCKET_SERVER_HOST,
@@ -72,6 +72,10 @@ export default class Configuration {
         Configuration.getConfig().uiServer
       );
     }
+    if (Configuration.isCFEnvironment() === true) {
+      delete uiServerConfiguration.options.host;
+      uiServerConfiguration.options.port = parseInt(process.env.PORT);
+    }
     return uiServerConfiguration;
   }
 
@@ -373,6 +377,10 @@ export default class Configuration {
     }
   }
 
+  private static isCFEnvironment(): boolean {
+    return process.env.VCAP_APPLICATION !== undefined;
+  }
+
   private static getDefaultPerformanceStorageUri(storageType: StorageType) {
     const SQLiteFileName = `${Constants.DEFAULT_PERFORMANCE_RECORDS_DB_NAME}.db`;
     switch (storageType) {
@@ -395,6 +403,14 @@ export default class Configuration {
     return item && typeof item === 'object' && Array.isArray(item) === false;
   }
 
+  private static objectHasOwnProperty(object: unknown, property: string): boolean {
+    return Object.prototype.hasOwnProperty.call(object, property) as boolean;
+  }
+
+  private static isUndefined(obj: unknown): boolean {
+    return typeof obj === 'undefined';
+  }
+
   private static deepMerge(target: object, ...sources: object[]): object {
     if (!sources.length) {
       return target;
@@ -418,14 +434,6 @@ export default class Configuration {
     return Configuration.deepMerge(target, ...sources);
   }
 
-  private static objectHasOwnProperty(object: unknown, property: string): boolean {
-    return Object.prototype.hasOwnProperty.call(object, property) as boolean;
-  }
-
-  private static isUndefined(obj: unknown): boolean {
-    return typeof obj === 'undefined';
-  }
-
   private static handleFileException(
     logPrefix: string,
     fileType: FileType,