diff --git a/apps/web/src/components/navbar/DatabaseManagement/forms/AddDatabase/newdatabase.tsx b/apps/web/src/components/navbar/DatabaseManagement/forms/AddDatabase/newdatabase.tsx index 571d597b324b7f83f6c9b89b59739bf290c0b241..d07b1c67156edd778dadbefdeb16a942b266bd19 100644 --- a/apps/web/src/components/navbar/DatabaseManagement/forms/AddDatabase/newdatabase.tsx +++ b/apps/web/src/components/navbar/DatabaseManagement/forms/AddDatabase/newdatabase.tsx @@ -7,6 +7,7 @@ import { useAppDispatch, useDatabaseAPI, useSchemaAPI, + useSessionCache, } from '@graphpolaris/shared/lib/data-access'; import { addError } from '@graphpolaris/shared/lib/data-access/store/configSlice'; import { ErrorOutline } from '@mui/icons-material'; @@ -38,6 +39,7 @@ export const NewDatabaseForm = (props: { onClose(): void; open: boolean }) => { const [state, setState] = useState<AddDatabaseRequest>(INITIAL_DB_STATE); const api = useDatabaseAPI(); const schemaApi = useSchemaAPI(); + const session = useSessionCache(); const [hasError, setHasError] = useState({}); const [sampleData, setSampleData] = useState<boolean | null>(false); const [connection, setConnection] = useState<Connection>({ @@ -69,6 +71,16 @@ export const NewDatabaseForm = (props: { onClose(): void; open: boolean }) => { verified: null, })); + if (session.databases && !session.databases.hasOwnProperty(state.name)) { + setConnection((prevState) => ({ + ...prevState, + connecting: false, + status: 'Database already connected', + verified: false, + })); + return; + } + try { api .TestDatabaseConnection(state) diff --git a/libs/shared/lib/components/buttons/buttons.module.scss.d.ts b/libs/shared/lib/components/buttons/buttons.module.scss.d.ts index 090a2928f1558d1bcecbdbfd73ac9089eea3458f..3165183bcc43cd371b85d32e546d2904b856a67e 100644 --- a/libs/shared/lib/components/buttons/buttons.module.scss.d.ts +++ b/libs/shared/lib/components/buttons/buttons.module.scss.d.ts @@ -1,6 +1,7 @@ declare const classNames: { readonly btn: 'btn'; readonly 'btn-lg': 'btn-lg'; + readonly '5': '5'; readonly 'btn-icon-only': 'btn-icon-only'; readonly 'btn-md': 'btn-md'; readonly 'btn-sm': 'btn-sm'; diff --git a/libs/shared/lib/vis/visualizations/table_vis/components/table.module.scss.d.ts b/libs/shared/lib/vis/visualizations/table_vis/components/table.module.scss.d.ts index 8798bcd00095ed6509688816c10f5c9399d76b8b..0dc7b2cfe2feff56721fa723aee89e4d10e2f30d 100644 --- a/libs/shared/lib/vis/visualizations/table_vis/components/table.module.scss.d.ts +++ b/libs/shared/lib/vis/visualizations/table_vis/components/table.module.scss.d.ts @@ -1,5 +1,6 @@ declare const classNames: { readonly 'table-container': 'table-container'; readonly table: 'table'; + readonly '5': '5'; }; export = classNames;