15530: When loading sessions, clear 'active' flag and revalidate.
[arvados.git] / src / common / config.ts
index 7363b95d4e70351dd8c29bb6e40327bb2a73063d..3dc34ce510411c67c4e6afc623a7f193c95c8357 100644 (file)
@@ -45,6 +45,9 @@ export interface ClusterConfigJSON {
         VocabularyURL: string;
         FileViewersConfigURL: string;
     };
+    Login: {
+        LoginCluster: string;
+    };
 }
 
 export class Config {
@@ -60,6 +63,7 @@ export class Config {
     workbench2Url: string;
     vocabularyUrl: string;
     fileViewersConfigUrl: string;
+    loginCluster: string;
 }
 
 export const fetchConfig = () => {
@@ -72,7 +76,7 @@ export const fetchConfig = () => {
         })
         .then(workbenchConfig => {
             if (workbenchConfig.API_HOST === undefined) {
-                throw new Error(`Unable to start Workbench. API_HOST is undefined in ${WORKBENCH_CONFIG_URL}.`);
+                throw new Error(`Unable to start Workbench. API_HOST is undefined in ${WORKBENCH_CONFIG_URL} or the environment.`);
             }
             return Axios.get<ClusterConfigJSON>(getClusterConfigURL(workbenchConfig.API_HOST)).then(response => {
                 const config = new Config();
@@ -111,6 +115,7 @@ remove the entire ${varName} entry from ${WORKBENCH_CONFIG_URL}`);
                 config.workbench2Url = clusterConfigJSON.Services.Workbench2.ExternalURL;
                 config.workbenchUrl = clusterConfigJSON.Services.Workbench1.ExternalURL;
                 config.keepWebServiceUrl = clusterConfigJSON.Services.WebDAV.ExternalURL;
+                config.loginCluster = clusterConfigJSON.Login.LoginCluster;
                 mapRemoteHosts(clusterConfigJSON, config);
 
                 return { config, apiHost: workbenchConfig.API_HOST };
@@ -135,7 +140,8 @@ export const mockConfig = (config: Partial<Config>): Config => ({
     workbenchUrl: "",
     workbench2Url: "",
     vocabularyUrl: "",
-    fileViewersConfigUrl: ""
+    fileViewersConfigUrl: "",
+    loginCluster: ""
 });
 
 const getDefaultConfig = (): WorkbenchConfig => {
@@ -157,4 +163,4 @@ const getDefaultConfig = (): WorkbenchConfig => {
 
 export const ARVADOS_API_PATH = "arvados/v1";
 export const CLUSTER_CONFIG_URL = "arvados/v1/config";
-export const getClusterConfigURL = (apiHost: string) => `${window.location.protocol}//${apiHost}/${CLUSTER_CONFIG_URL}?nocache=${(new Date()).getTime()}`;
\ No newline at end of file
+export const getClusterConfigURL = (apiHost: string) => `${window.location.protocol}//${apiHost}/${CLUSTER_CONFIG_URL}?nocache=${(new Date()).getTime()}`;