From 2fb70e11ff95175b75bdddbfb75f495ba738dd7f Mon Sep 17 00:00:00 2001 From: steven Date: Tue, 28 Mar 2023 14:05:56 +0800 Subject: [PATCH] chore: update create connection handler --- components/CreateConnectionModal.tsx | 31 ++++++++++++++++++---------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/components/CreateConnectionModal.tsx b/components/CreateConnectionModal.tsx index 419ce43..c11d277 100644 --- a/components/CreateConnectionModal.tsx +++ b/components/CreateConnectionModal.tsx @@ -50,19 +50,28 @@ const CreateConnectionModal = (props: Props) => { if (!showDatabaseField) { connectionCreate.database = undefined; } - const result = await testConnection(connectionCreate); - setIsRequesting(false); - if (!result) { - toast.error("Failed to connect"); + try { + const result = await testConnection(connectionCreate); + if (!result) { + setIsRequesting(false); + toast.error("Failed to test connection"); + return; + } + const createdConnection = connectionStore.createConnection(connectionCreate); + // Set the created connection as the current connection. + const databaseList = await connectionStore.getOrFetchDatabaseList(createdConnection); + connectionStore.setCurrentConnectionCtx({ + connection: createdConnection, + database: head(databaseList), + }); + } catch (error) { + console.error(error); + setIsRequesting(false); + toast.error("Failed to create connection"); return; } - const createdConnection = connectionStore.createConnection(connectionCreate); - // Set the created connection as the current connection. - const databaseList = await connectionStore.getOrFetchDatabaseList(createdConnection); - connectionStore.setCurrentConnectionCtx({ - connection: createdConnection, - database: head(databaseList), - }); + + setIsRequesting(false); close(); };