帆软决策平台数据连接界面库
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.
 
 
 
 

43 lines
1.6 KiB

import { Connection, ConnectionJDBC, ConnectionJNDI, ConnectionPlugin } from '../../../crud/crud.typings';
import { connectionType } from '@constants/env';
import { getAllDatabaseTypes, getJdbcDatabaseType } from 'src/modules/app.service';
import { DATA_BASE_TYPES_OTHER } from '@constants/constant';
export function getCreator(connection: Connection) {
if (!connection.connectionData) {
return '';
}
switch (connection.connectionType) {
case connectionType.JDBC:
return (connection.connectionData as ConnectionJDBC).creator;
case connectionType.JNDI:
return (connection.connectionData as ConnectionJNDI).creator;
default:
return (connection.connectionData as ConnectionPlugin).creator;
}
}
export function getDatabaseType(connection: Connection) {
switch (connection.connectionType) {
case connectionType.JDBC:
return getJdbcDatabaseType((connection.connectionData as ConnectionJDBC).database, (connection.connectionData as ConnectionJDBC).driver).databaseType;
case connectionType.JNDI:
return connectionType.JNDI;
default:
return connection.connectionType;
}
}
export function hasRegistered(databaseType: string) {
const allDatabaseTypes = getAllDatabaseTypes();
switch (databaseType) {
case connectionType.JDBC:
return true;
case connectionType.JNDI:
return true;
case DATA_BASE_TYPES_OTHER.text:
return true;
default:
return allDatabaseTypes.some(item => item.databaseType === databaseType);
}
}