import { Connection, ConnectionJDBC, ConnectionJNDI, ConnectionPlugin } from '../../../crud/crud.typings'; import { connectionType } from '@constants/env'; import { getAllDatabaseTypes, getJdbcDatabaseType } from 'src/modules/app.service'; export function getCreator(connection: Connection) { 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; default: return allDatabaseTypes.some(item => item.databaseType === databaseType); } }