From 8ded3711620639c9d2e35823b72bc1da33fcbe4b Mon Sep 17 00:00:00 2001 From: haojin111 Date: Wed, 30 Mar 2022 14:37:34 +0800 Subject: [PATCH] fixed issue of redirecting with one oauth authentication --- .../Editor/gitSync/ReconnectDatasourceModal.tsx | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/app/client/src/pages/Editor/gitSync/ReconnectDatasourceModal.tsx b/app/client/src/pages/Editor/gitSync/ReconnectDatasourceModal.tsx index e9f44db8c6..a36005d9d4 100644 --- a/app/client/src/pages/Editor/gitSync/ReconnectDatasourceModal.tsx +++ b/app/client/src/pages/Editor/gitSync/ReconnectDatasourceModal.tsx @@ -47,7 +47,7 @@ import { setIsReconnectingDatasourcesModalOpen, setOrgIdForImport, } from "actions/applicationActions"; -import { Datasource } from "entities/Datasource"; +import { AuthType, Datasource } from "entities/Datasource"; import { DATASOURCE_DB_FORM } from "constants/forms"; import { initialize } from "redux-form"; import TooltipComponent from "components/ads/Tooltip"; @@ -452,6 +452,18 @@ function ReconnectDatasourceModal() { // checking of full configured useEffect(() => { if (isModalOpen && !isTesting) { + // if there is only one gsheet datasource, it shouldn't be redirected to app immediately + if ( + !queryIsImport && + datasources.length === 1 && + datasources[0].isConfigured + ) { + const authType = + datasources[0].datasourceConfiguration?.authentication + ?.authenticationType; + + if (authType === AuthType.OAUTH2) return; + } const id = selectedDatasourceId; const pending = datasources.filter((ds: Datasource) => !ds.isConfigured); if (pending.length > 0) { @@ -469,7 +481,7 @@ function ReconnectDatasourceModal() { window.open(appURL, "_self"); } } - }, [datasources, appURL, isModalOpen, isTesting]); + }, [datasources, appURL, isModalOpen, isTesting, queryIsImport]); const mappedDataSources = datasources.map((ds: Datasource) => { return (