From a6284343b11de43a670f0489193432b0316a2096 Mon Sep 17 00:00:00 2001 From: Tatiana Fokina <123386439+tfokina@users.noreply.github.com> Date: Thu, 30 Mar 2023 16:56:16 +0400 Subject: [PATCH] CB-3287 update database auth dialog, use isHidden (#1572) --- .../plugin-connections/src/ConnectionAuthService.ts | 1 + .../src/ContextMenu/ConnectionMenuBootstrap.ts | 11 ++++++++++- .../src/DatabaseAuthDialog/DatabaseAuthDialog.tsx | 5 +++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/webapp/packages/plugin-connections/src/ConnectionAuthService.ts b/webapp/packages/plugin-connections/src/ConnectionAuthService.ts index bd33100d4b..e4472ab770 100644 --- a/webapp/packages/plugin-connections/src/ConnectionAuthService.ts +++ b/webapp/packages/plugin-connections/src/ConnectionAuthService.ts @@ -92,6 +92,7 @@ export class ConnectionAuthService extends Dependency { const result = await this.commonDialogService.open(DatabaseAuthDialog, { connection: key, networkHandlers, + resetCredentials, }); if (resetCredentials && isConnectedInitially && result === DialogueStateResult.Rejected) { diff --git a/webapp/packages/plugin-connections/src/ContextMenu/ConnectionMenuBootstrap.ts b/webapp/packages/plugin-connections/src/ContextMenu/ConnectionMenuBootstrap.ts index 7f78820ef4..4ea7554667 100644 --- a/webapp/packages/plugin-connections/src/ContextMenu/ConnectionMenuBootstrap.ts +++ b/webapp/packages/plugin-connections/src/ContextMenu/ConnectionMenuBootstrap.ts @@ -196,7 +196,16 @@ export class ConnectionMenuBootstrap extends Bootstrap { } if (action === ACTION_CONNECTION_CHANGE_CREDENTIALS) { - return this.serverConfigResource.distributed && connection.credentialsSaved === true; + return this.serverConfigResource.distributed; + } + + return false; + }, + isHidden: (context, action) => { + const connection = context.tryGet(DATA_CONTEXT_CONNECTION); + + if (action === ACTION_CONNECTION_CHANGE_CREDENTIALS) { + return !connection?.credentialsSaved; } return false; diff --git a/webapp/packages/plugin-connections/src/DatabaseAuthDialog/DatabaseAuthDialog.tsx b/webapp/packages/plugin-connections/src/DatabaseAuthDialog/DatabaseAuthDialog.tsx index 62dc681f06..558005c95f 100644 --- a/webapp/packages/plugin-connections/src/DatabaseAuthDialog/DatabaseAuthDialog.tsx +++ b/webapp/packages/plugin-connections/src/DatabaseAuthDialog/DatabaseAuthDialog.tsx @@ -45,6 +45,7 @@ const styles = css` interface Payload { connection: IConnectionInfoParams; networkHandlers: string[]; + resetCredentials?: boolean; } export const DatabaseAuthDialog: DialogComponent = observer(function DatabaseAuthDialog({ @@ -62,8 +63,8 @@ export const DatabaseAuthDialog: DialogComponent = observer(function Da let authModelId: string | null = null; - if (connection.connectionInfo?.authNeeded) { - authModelId = connection.connectionInfo.authModel || driver?.defaultAuthModel || null; + if (connection.connectionInfo?.authNeeded || payload.resetCredentials) { + authModelId = connection.connectionInfo?.authModel || driver?.defaultAuthModel || null; } return styled(useStyles(styles))(