You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
897 B
TypeScript
30 lines
897 B
TypeScript
// Copyright (C) 2020 Intel Corporation
|
|
//
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
import getCore from 'cvat-core-wrapper';
|
|
import { SupportedPlugins } from 'reducers/interfaces';
|
|
import isReachable from './url-checker';
|
|
|
|
const core = getCore();
|
|
|
|
// Easy plugin checker to understand what plugins supports by a server
|
|
class PluginChecker {
|
|
public static async check(plugin: SupportedPlugins): Promise<boolean> {
|
|
const serverHost = core.config.backendAPI.slice(0, -7);
|
|
|
|
switch (plugin) {
|
|
case SupportedPlugins.GIT_INTEGRATION: {
|
|
return isReachable(`${serverHost}/git/repository/meta/get`, 'OPTIONS');
|
|
}
|
|
case SupportedPlugins.ANALYTICS: {
|
|
return isReachable(`${serverHost}/analytics/app/kibana`, 'GET');
|
|
}
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
|
|
export default PluginChecker;
|