From a010b2ccbbb8f667ff1650c68deb1f5cf5cdce88 Mon Sep 17 00:00:00 2001 From: Wroud Date: Mon, 26 Apr 2021 23:17:33 +0300 Subject: [PATCH] fix: CB-970 hide authentication params in a connection form --- .../packages/core-authentication/src/UserInfoResource.ts | 8 ++++---- .../src/ConnectionForm/Options/Options.tsx | 8 +++++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/webapp/packages/core-authentication/src/UserInfoResource.ts b/webapp/packages/core-authentication/src/UserInfoResource.ts index 0f063ca5f2..50f5d3d9f5 100644 --- a/webapp/packages/core-authentication/src/UserInfoResource.ts +++ b/webapp/packages/core-authentication/src/UserInfoResource.ts @@ -45,14 +45,14 @@ export class UserInfoResource extends CachedDataResource } hasToken(type: string, subType?: string): boolean { - if (!this.data) { - return false; - } - if (type === AUTH_PROVIDER_LOCAL_ID) { return true; } + if (!this.data) { + return false; + } + // TODO: will be changed due wrong origin in authTokens return this.data.authTokens.some(token => token.origin.type === (subType ?? type)) || this.data.authTokens.some(token => token.origin.type === type && token.origin.subType === subType); diff --git a/webapp/packages/core-connections/src/ConnectionForm/Options/Options.tsx b/webapp/packages/core-connections/src/ConnectionForm/Options/Options.tsx index c49f04553e..379ad7cab8 100644 --- a/webapp/packages/core-connections/src/ConnectionForm/Options/Options.tsx +++ b/webapp/packages/core-connections/src/ConnectionForm/Options/Options.tsx @@ -11,6 +11,7 @@ import { useCallback, useRef } from 'react'; import styled, { css } from 'reshadow'; import { useAdministrationSettings } from '@cloudbeaver/core-administration'; +import { AUTH_PROVIDER_LOCAL_ID } from '@cloudbeaver/core-authentication'; import { InputFieldNew, SubmittingForm, @@ -30,6 +31,7 @@ import { import { useService } from '@cloudbeaver/core-di'; import { useTranslate } from '@cloudbeaver/core-localization'; import { useStyles } from '@cloudbeaver/core-theming'; +import { useAuthenticationAction } from '@cloudbeaver/core-ui'; import { isLocalConnection } from '../../Administration/ConnectionsResource'; import { DatabaseAuthModelsResource } from '../../DatabaseAuthModelsResource'; @@ -64,6 +66,10 @@ export const Options: TabContainerPanelComponent = observe disabled, } = state; + const authentication = useAuthenticationAction({ + origin: state.info?.origin ?? { type: AUTH_PROVIDER_LOCAL_ID, displayName: 'Local' }, + }); + useFormValidator(submittingHandlers.for(service.formValidationTask), formRef); const optionsHook = useOptions(props.state); const { credentialsSavingEnabled } = useAdministrationSettings(); @@ -185,7 +191,7 @@ export const Options: TabContainerPanelComponent = observe - {(authModel && !driver.data?.anonymousAccess && properties) && ( + {(authModel && !driver.data?.anonymousAccess && properties && authentication.authorized) && ( {translate('connections_connection_edit_authentication')}