diff --git a/server/bundles/io.cloudbeaver.server/schema/service.core.graphqls b/server/bundles/io.cloudbeaver.server/schema/service.core.graphqls index 4060d419593..0437a366fee 100644 --- a/server/bundles/io.cloudbeaver.server/schema/service.core.graphqls +++ b/server/bundles/io.cloudbeaver.server/schema/service.core.graphqls @@ -334,7 +334,7 @@ extend type Mutation { testConnection( config: ConnectionConfig! ): ConnectionInfo! # Initiate existing connection - initConnection( id: ID!, credentials: Object ): ConnectionInfo! + initConnection( id: ID!, credentials: Object, saveCredentials: Boolean ): ConnectionInfo! # Disconnect from database closeConnection( id: ID! ): ConnectionInfo! diff --git a/webapp/packages/core-connections/src/ConnectionInfoResource.ts b/webapp/packages/core-connections/src/ConnectionInfoResource.ts index bf24ffc6dcf..fa78e66429e 100644 --- a/webapp/packages/core-connections/src/ConnectionInfoResource.ts +++ b/webapp/packages/core-connections/src/ConnectionInfoResource.ts @@ -82,9 +82,9 @@ export class ConnectionInfoResource extends CachedMapResource): Promise { + async init(id: string, credentials?: Record, saveCredentials?: boolean): Promise { await this.performUpdate(id, async () => { - const connection = await this.initConnection(id, credentials); + const connection = await this.initConnection(id, credentials, saveCredentials); this.set(id, connection); return connection; }); @@ -138,8 +138,8 @@ export class ConnectionInfoResource extends CachedMapResource { - const { connection } = await this.graphQLService.sdk.initConnection({ id, credentials }); + private async initConnection(id: string, credentials?: any, saveCredentials?: boolean): Promise { + const { connection } = await this.graphQLService.sdk.initConnection({ id, credentials, saveCredentials }); return connection; } diff --git a/webapp/packages/core-connections/src/DatabaseAuthDialog/DBAuthDialogController.ts b/webapp/packages/core-connections/src/DatabaseAuthDialog/DBAuthDialogController.ts index e8bac62a073..34917acfb72 100644 --- a/webapp/packages/core-connections/src/DatabaseAuthDialog/DBAuthDialogController.ts +++ b/webapp/packages/core-connections/src/DatabaseAuthDialog/DBAuthDialogController.ts @@ -60,7 +60,7 @@ export class DBAuthDialogController implements IInitializableController, IDestru this.isAuthenticating = true; try { - await this.connectionInfoResource.init(this.connectionId, this.config.credentials); + await this.connectionInfoResource.init(this.connectionId, this.config.credentials, this.config.saveCredentials); this.close(); } catch (exception) { if (!this.error.catch(exception) || this.isDistructed) { diff --git a/webapp/packages/core-connections/src/locales/en.ts b/webapp/packages/core-connections/src/locales/en.ts index 97d633ebf5f..12c7e344665 100644 --- a/webapp/packages/core-connections/src/locales/en.ts +++ b/webapp/packages/core-connections/src/locales/en.ts @@ -8,7 +8,7 @@ export default [ ['connections_administration_configuration_wizard_message', 'Here you can create database connections manually or using a database server search feature.\nYou can skip this step and configure connections later.'], ['connections_connection_create_custom', 'Custom'], ['connections_connection_create_search_database', 'Search'], - ['connections_connection_edit_save_credentials', 'Remember Password'], + ['connections_connection_edit_save_credentials', 'Save credentials'], ['connections_connection_edit_authentication', 'Authentication'], ['connections_connection_edit_access', 'Access'], ['connections_connection_edit_access_load_failed', 'Connection access loading failed'], diff --git a/webapp/packages/core-connections/src/locales/ru.ts b/webapp/packages/core-connections/src/locales/ru.ts index 0226d52c7c8..b224c585f2f 100644 --- a/webapp/packages/core-connections/src/locales/ru.ts +++ b/webapp/packages/core-connections/src/locales/ru.ts @@ -7,7 +7,7 @@ export default [ ['connections_administration_configuration_wizard_step_description', 'Подключения к базам'], ['connections_connection_create_custom', 'Настроить'], ['connections_connection_create_search_database', 'Найти'], - ['connections_connection_edit_save_credentials', ' Запомнить пароль'], + ['connections_connection_edit_save_credentials', ' Запомнить данные'], ['connections_connection_edit_authentication', 'Авторизация'], ['connections_connection_edit_access', 'Доступ'], ['connections_connection_edit_access_load_failed', 'Не удалось загрузить информацию доступа'], diff --git a/webapp/packages/core-sdk/src/queries/connections/initConnection.gql b/webapp/packages/core-sdk/src/queries/connections/initConnection.gql index c64b0dab18e..99822560bea 100644 --- a/webapp/packages/core-sdk/src/queries/connections/initConnection.gql +++ b/webapp/packages/core-sdk/src/queries/connections/initConnection.gql @@ -1,5 +1,5 @@ -mutation initConnection($id: ID!, $credentials: Object) { - connection: initConnection(id: $id, credentials: $credentials) { +mutation initConnection($id: ID!, $credentials: Object, $saveCredentials: Boolean) { + connection: initConnection(id: $id, credentials: $credentials, saveCredentials: $saveCredentials) { ...UserConnection } } diff --git a/webapp/packages/core-sdk/src/sdk.ts b/webapp/packages/core-sdk/src/sdk.ts index 9a0bf47c594..a98b0e62085 100644 --- a/webapp/packages/core-sdk/src/sdk.ts +++ b/webapp/packages/core-sdk/src/sdk.ts @@ -321,6 +321,7 @@ export interface MutationDeleteConnectionArgs { export interface MutationInitConnectionArgs { id: Scalars['ID']; credentials?: Maybe; + saveCredentials?: Maybe; } export interface MutationOpenConnectionArgs { @@ -1062,6 +1063,7 @@ export interface GetDriverByIdQuery { driverList: Array; + saveCredentials?: Maybe; }>; export interface InitConnectionMutation { connection: UserConnectionFragment } @@ -1784,8 +1786,8 @@ export const GetDriverByIdDocument = ` } `; export const InitConnectionDocument = ` - mutation initConnection($id: ID!, $credentials: Object) { - connection: initConnection(id: $id, credentials: $credentials) { + mutation initConnection($id: ID!, $credentials: Object, $saveCredentials: Boolean) { + connection: initConnection(id: $id, credentials: $credentials, saveCredentials: $saveCredentials) { ...UserConnection } }