|
|
|
import { DATA_BASE_TYPES, DATA_BASE_TYPES_OTHER } 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 {
|
|
|
|
let databaseType = null;
|
|
|
|
if (database && DATA_BASE_TYPES.some(item => item.databaseType === database)) {
|
|
|
|
databaseType = DATA_BASE_TYPES.find(item => item.databaseType === database);
|
|
|
|
} else {
|
|
|
|
databaseType = (DATA_BASE_TYPES as DatabaseType[]).find(item => {
|
|
|
|
if (item.drivers) {
|
|
|
|
return item.drivers.includes(driver);
|
|
|
|
}
|
|
|
|
|
|
|
|
return item.driver === driver;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
if (!databaseType) {
|
|
|
|
return DATA_BASE_TYPES_OTHER;
|
|
|
|
}
|
|
|
|
|
|
|
|
return databaseType;
|
|
|
|
}
|