Merge branch '15728-property-filter' refs #15728
[arvados.git] / src / common / config.ts
index 3dc34ce510411c67c4e6afc623a7f193c95c8357..e5f7b1c6d70e2a163c6dd29a11e393d9c6c04b28 100644 (file)
@@ -44,6 +44,9 @@ export interface ClusterConfigJSON {
         ArvadosDocsite: string;
         VocabularyURL: string;
         FileViewersConfigURL: string;
+        WelcomePageHTML: string;
+        InactivePageHTML: string;
+        SiteName: string;
     };
     Login: {
         LoginCluster: string;
@@ -64,6 +67,7 @@ export class Config {
     vocabularyUrl: string;
     fileViewersConfigUrl: string;
     loginCluster: string;
+    clusterConfig: ClusterConfigJSON;
 }
 
 export const fetchConfig = () => {
@@ -116,6 +120,7 @@ remove the entire ${varName} entry from ${WORKBENCH_CONFIG_URL}`);
                 config.workbenchUrl = clusterConfigJSON.Services.Workbench1.ExternalURL;
                 config.keepWebServiceUrl = clusterConfigJSON.Services.WebDAV.ExternalURL;
                 config.loginCluster = clusterConfigJSON.Login.LoginCluster;
+                config.clusterConfig = clusterConfigJSON;
                 mapRemoteHosts(clusterConfigJSON, config);
 
                 return { config, apiHost: workbenchConfig.API_HOST };
@@ -130,6 +135,30 @@ export const mapRemoteHosts = (clusterConfigJSON: ClusterConfigJSON, config: Con
     delete config.remoteHosts["*"];
 };
 
+export const mockClusterConfigJSON = (config: Partial<ClusterConfigJSON>): ClusterConfigJSON => ({
+    ClusterID: "",
+    RemoteClusters: {},
+    Services: {
+        Controller: { ExternalURL: "" },
+        Workbench1: { ExternalURL: "" },
+        Workbench2: { ExternalURL: "" },
+        Websocket: { ExternalURL: "" },
+        WebDAV: { ExternalURL: "" },
+    },
+    Workbench: {
+        ArvadosDocsite: "",
+        VocabularyURL: "",
+        FileViewersConfigURL: "",
+        WelcomePageHTML: "",
+        InactivePageHTML: "",
+        SiteName: "",
+    },
+    Login: {
+        LoginCluster: "",
+    },
+    ...config
+});
+
 export const mockConfig = (config: Partial<Config>): Config => ({
     baseUrl: "",
     keepWebServiceUrl: "",
@@ -141,7 +170,9 @@ export const mockConfig = (config: Partial<Config>): Config => ({
     workbench2Url: "",
     vocabularyUrl: "",
     fileViewersConfigUrl: "",
-    loginCluster: ""
+    loginCluster: "",
+    clusterConfig: mockClusterConfigJSON({}),
+    ...config
 });
 
 const getDefaultConfig = (): WorkbenchConfig => {