From 2c5ecf69b7a8c05f6fa400a1f8f3d44c44ea3c5d Mon Sep 17 00:00:00 2001 From: "Vink, S.A. (Sjoerd)" <s.a.vink@uu.nl> Date: Tue, 16 Jan 2024 00:15:46 +0000 Subject: [PATCH] fix(db): if add a database which is already there, we get database connectionfailed Solves #DEV-244 --- .../forms/AddDatabase/newdatabase.tsx | 12 ++++++++++++ .../lib/components/buttons/buttons.module.scss.d.ts | 1 + .../table_vis/components/table.module.scss.d.ts | 1 + 3 files changed, 14 insertions(+) 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 571d597b3..d07b1c671 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 090a2928f..3165183bc 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 8798bcd00..0dc7b2cfe 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; -- GitLab