X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/5607033651dbfd135a49ac5af65def77269f7a7d..bbfd038f8d53725f154ff139229a74d961792915:/src/common/config.ts diff --git a/src/common/config.ts b/src/common/config.ts index 061f9c00af..b7b89bd9e4 100644 --- a/src/common/config.ts +++ b/src/common/config.ts @@ -49,6 +49,7 @@ export interface Config { version: string; websocketUrl: string; workbenchUrl: string; + vocabularyUrl: string; } export const fetchConfig = () => { @@ -56,8 +57,14 @@ export const fetchConfig = () => { .get(CONFIG_URL + "?nocache=" + (new Date()).getTime()) .then(response => response.data) .catch(() => Promise.resolve(getDefaultConfig())) - .then(config => Axios.get(getDiscoveryURL(config.API_HOST))) - .then(response => response.data); + .then(config => Axios + .get(getDiscoveryURL(config.API_HOST)) + .then(response => ({ + // TODO: After tests delete `|| '/vocabulary-example.json'` + config: {...response.data, vocabularyUrl: config.VOCABULARY_URL || '/vocabulary-example.json' }, + apiHost: config.API_HOST, + }))); + }; export const mockConfig = (config: Partial): Config => ({ @@ -103,15 +110,18 @@ export const mockConfig = (config: Partial): Config => ({ version: '', websocketUrl: '', workbenchUrl: '', + vocabularyUrl: '', ...config }); interface ConfigJSON { API_HOST: string; + VOCABULARY_URL: string; } const getDefaultConfig = (): ConfigJSON => ({ API_HOST: process.env.REACT_APP_ARVADOS_API_HOST || "", + VOCABULARY_URL: "", }); const getDiscoveryURL = (apiHost: string) => `${window.location.protocol}//${apiHost}/discovery/v1/apis/arvados/v1/rest`;