帆软决策平台数据连接界面库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1.4 KiB

import { DATA_BASE_TYPES } from '@constants/constant';
import { CONSTANT_PLUGIN_TYPES, CONSTANT_PLUGIN_SHOW, CONSTANT_PLUGIN_EDIT } from '@constants/plugin';
import { DatabaseType } from './app.typings';
export function getAllDatabaseTypes():DatabaseType[] {
return [
...DATA_BASE_TYPES,
...BI.Constants.getConstant(CONSTANT_PLUGIN_TYPES).map(item => {
return {
...item,
internal: false,
commonly: false,
};
}),
];
}
export function getPluginWidgetShow(plugin: string) {
return BI.Constants.getConstant(CONSTANT_PLUGIN_SHOW.replace('${databaseType}', plugin));
}
export function getPluginWidgetEdit(plugin: string) {
return BI.Constants.getConstant(CONSTANT_PLUGIN_EDIT.replace('${databaseType}', plugin));
}
// 由于database可能为空,所以为了兼容平台和设计器,需要根据driver来判断数据库类型
export function getJdbcDatabaseType(database: string, driver: string): DatabaseType {
if (database && DATA_BASE_TYPES.some(item => item.databaseType === database)) {
return DATA_BASE_TYPES.find(item => item.databaseType === database);
}
return (DATA_BASE_TYPES as DatabaseType[]).find(item => {
if (item.drivers) {
return item.drivers.includes(driver);
}
return item.driver === driver;
});
}