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
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); |
|
} |
|
}
|
|
|