Merge branch 'master' into 14039-details-view-improvements
[arvados.git] / src / common / config.ts
index b898d2b16ab67a5e17f96762561b0237a46efc28..759a20158f9f8cafac459cd4ee2213f36c00890d 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-import Axios from "../../node_modules/axios";
+import Axios from "axios";
 
 export const CONFIG_URL = process.env.REACT_APP_ARVADOS_CONFIG_URL || "/config.json";
 
@@ -13,21 +13,25 @@ export interface Config {
 
 export const fetchConfig = () => {
     return Axios
-        .get<Config>(CONFIG_URL + "?nocache=" + (new Date()).getTime())
+        .get<ConfigJSON>(CONFIG_URL + "?nocache=" + (new Date()).getTime())
         .then(response => response.data)
         .catch(() => Promise.resolve(getDefaultConfig()))
         .then(mapConfig);
 };
 
-const mapConfig = (config: Config): Config => ({
-    ...config,
-    apiHost: addProtocol(config.apiHost),
-    keepWebHost: addProtocol(config.keepWebHost)
+interface ConfigJSON {
+    API_HOST: string;
+    KEEP_WEB_HOST: string;
+}
+
+const mapConfig = (config: ConfigJSON): Config => ({
+    apiHost: addProtocol(config.API_HOST),
+    keepWebHost: addProtocol(config.KEEP_WEB_HOST)
 });
 
-const getDefaultConfig = (): Config => ({
-    apiHost: process.env.REACT_APP_ARVADOS_API_HOST || "",
-    keepWebHost: process.env.REACT_APP_ARVADOS_KEEP_WEB_HOST || ""
+const getDefaultConfig = (): ConfigJSON => ({
+    API_HOST: process.env.REACT_APP_ARVADOS_API_HOST || "",
+    KEEP_WEB_HOST: process.env.REACT_APP_ARVADOS_KEEP_WEB_HOST || ""
 });
 
 const addProtocol = (url: string) => `${window.location.protocol}//${url}`;