}
export interface ClusterConfigJSON {
+ API: {
+ UnfreezeProjectRequiresAdmin: boolean
+ },
ClusterID: string;
RemoteClusters: {
[key: string]: {
}
};
Workbench: {
+ DisableSharingURLsUI: boolean;
ArvadosDocsite: string;
- VocabularyURL: string;
FileViewersConfigURL: string;
WelcomePageHTML: string;
InactivePageHTML: string;
}
config.fileViewersConfigUrl = fileViewerConfigUrl;
- let vocabularyUrl;
if (workbenchConfig.VOCABULARY_URL !== undefined) {
- warnLocalConfig("VOCABULARY_URL");
- vocabularyUrl = workbenchConfig.VOCABULARY_URL;
- }
- else {
- vocabularyUrl = config.clusterConfig.Workbench.VocabularyURL || "/vocabulary-example.json";
+ console.warn(`A value for VOCABULARY_URL was found in ${WORKBENCH_CONFIG_URL}. It will be ignored as the cluster already provides its own endpoint, you can safely remove it.`)
}
- config.vocabularyUrl = vocabularyUrl;
+ config.vocabularyUrl = getVocabularyURL(workbenchConfig.API_HOST);
return { config, apiHost: workbenchConfig.API_HOST };
});
};
export const mockClusterConfigJSON = (config: Partial<ClusterConfigJSON>): ClusterConfigJSON => ({
+ API: {
+ UnfreezeProjectRequiresAdmin: false,
+ },
ClusterID: "",
RemoteClusters: {},
Services: {
WebShell: { ExternalURL: "" },
},
Workbench: {
+ DisableSharingURLsUI: false,
ArvadosDocsite: "",
- VocabularyURL: "",
FileViewersConfigURL: "",
WelcomePageHTML: "",
InactivePageHTML: "",
export const ARVADOS_API_PATH = "arvados/v1";
export const CLUSTER_CONFIG_PATH = "arvados/v1/config";
+export const VOCABULARY_PATH = "arvados/v1/vocabulary";
export const DISCOVERY_DOC_PATH = "discovery/v1/apis/arvados/v1/rest";
-export const getClusterConfigURL = (apiHost: string) => `${window.location.protocol}//${apiHost}/${CLUSTER_CONFIG_PATH}?nocache=${(new Date()).getTime()}`;
+export const getClusterConfigURL = (apiHost: string) => `https://${apiHost}/${CLUSTER_CONFIG_PATH}?nocache=${(new Date()).getTime()}`;
+export const getVocabularyURL = (apiHost: string) => `https://${apiHost}/${VOCABULARY_PATH}?nocache=${(new Date()).getTime()}`;