feat(plugin-connections): CB-2366 ConfigurationType

This commit is contained in:
Wroud
2022-08-05 17:16:18 +03:00
parent 51cb72d81e
commit de2161000c
10 changed files with 178 additions and 97 deletions
@@ -40,6 +40,7 @@ export default [
['connections_connection_access_admin_info', 'Administrators see all connections.'],
['connections_connection_description', 'Description'],
['connections_connection_driver', 'Driver'],
['connections_connection_configuration', 'Configuration'],
['connections_connection_host', 'Host'],
['connections_connection_port', 'Port'],
['connections_connection_template', 'Template'],
@@ -42,6 +42,7 @@ export default [
['connections_connection_access_admin_info', 'Gli amministratori vedono tutte le connessioni.'],
['connections_connection_description', 'Descrizione'],
['connections_connection_driver', 'Driver'],
['connections_connection_configuration', 'Configuration'],
['connections_connection_host', 'Host'],
['connections_connection_port', 'Porta'],
['connections_connection_template', 'Template'],
@@ -37,6 +37,7 @@ export default [
['connections_connection_access_admin_info', 'Администраторы видят все подключения.'],
['connections_connection_description', 'Описание'],
['connections_connection_driver', 'Драйвер'],
['connections_connection_configuration', 'Конфигурация'],
['connections_connection_host', 'Хост'],
['connections_connection_port', 'Порт'],
['connections_connection_template', 'Шаблон'],
@@ -40,6 +40,7 @@ export default [
['connections_connection_access_admin_info', '管理员查看所有连接。'],
['connections_connection_description', '描述'],
['connections_connection_driver', '驱动'],
['connections_connection_configuration', 'Configuration'],
['connections_connection_host', '主机'],
['connections_connection_port', '端口'],
['connections_connection_template', '模板'],
@@ -25,6 +25,7 @@ fragment DatabaseConnection on ConnectionInfo {
features
supportedDataFormats
configurationType
origin @include(if: $includeOrigin) {
...ObjectOriginInfo
@@ -17,6 +17,7 @@ fragment DatabaseDriver on DriverInfo {
defaultAuthModel
applicableAuthModels
applicableNetworkHandlers
configurationTypes
providerProperties @include(if: $includeProviderProperties) {
id
+26 -42
View File
@@ -153,6 +153,7 @@ export enum AuthStatus {
export interface ConnectionConfig {
authModelId?: InputMaybe<Scalars['ID']>;
configurationType?: InputMaybe<DriverConfigurationType>;
connectionId?: InputMaybe<Scalars['String']>;
credentials?: InputMaybe<Scalars['Object']>;
dataSourceId?: InputMaybe<Scalars['ID']>;
@@ -190,6 +191,7 @@ export interface ConnectionInfo {
canEdit: Scalars['Boolean'];
canViewSettings: Scalars['Boolean'];
clientVersion?: Maybe<Scalars['String']>;
configurationType?: Maybe<DriverConfigurationType>;
connectTime?: Maybe<Scalars['String']>;
connected: Scalars['Boolean'];
connectionError?: Maybe<ServerError>;
@@ -294,12 +296,16 @@ export interface DatabaseStructContainers {
supportsSchemaChange: Scalars['Boolean'];
}
export enum DriverConfigurationType {
Extended = 'EXTENDED',
Url = 'URL'
}
export interface DriverInfo {
/** @deprecated Field no longer supported */
allowsEmptyPassword?: Maybe<Scalars['Boolean']>;
anonymousAccess?: Maybe<Scalars['Boolean']>;
applicableAuthModels: Array<Scalars['ID']>;
applicableNetworkHandlers: Array<Maybe<Scalars['ID']>>;
configurationTypes: Array<Maybe<DriverConfigurationType>>;
custom?: Maybe<Scalars['Boolean']>;
defaultAuthModel: Scalars['ID'];
defaultDatabase?: Maybe<Scalars['String']>;
@@ -343,8 +349,6 @@ export interface Mutation {
asyncSqlExplainExecutionPlanResult: SqlExecutionPlan;
asyncTaskCancel?: Maybe<Scalars['Boolean']>;
asyncTaskInfo: AsyncTaskInfo;
/** @deprecated Field no longer supported */
asyncTaskStatus: AsyncTaskInfo;
changeSessionLanguage?: Maybe<Scalars['Boolean']>;
closeConnection: ConnectionInfo;
closeSession?: Maybe<Scalars['Boolean']>;
@@ -358,8 +362,6 @@ export interface Mutation {
navDeleteNodes?: Maybe<Scalars['Int']>;
navMoveNodesToFolder?: Maybe<Scalars['Boolean']>;
navRenameNode?: Maybe<Scalars['String']>;
/** @deprecated Field no longer supported */
openConnection: ConnectionInfo;
openSession: SessionInfo;
readLobValue: Scalars['String'];
refreshSessionConnections?: Maybe<Scalars['Boolean']>;
@@ -436,11 +438,6 @@ export interface MutationAsyncTaskInfoArgs {
}
export interface MutationAsyncTaskStatusArgs {
id: Scalars['String'];
}
export interface MutationChangeSessionLanguageArgs {
locale?: InputMaybe<Scalars['String']>;
}
@@ -517,11 +514,6 @@ export interface MutationNavRenameNodeArgs {
}
export interface MutationOpenConnectionArgs {
config: ConnectionConfig;
}
export interface MutationOpenSessionArgs {
defaultLocale?: InputMaybe<Scalars['String']>;
}
@@ -831,8 +823,6 @@ export interface Query {
configureServer: Scalars['Boolean'];
connectionFolders: Array<ConnectionFolderInfo>;
connectionInfo: ConnectionInfo;
/** @deprecated Field no longer supported */
connectionState: ConnectionInfo;
copyConnectionConfiguration: ConnectionInfo;
createConnectionConfiguration: ConnectionInfo;
createRole: AdminRoleInfo;
@@ -947,12 +937,6 @@ export interface QueryConnectionInfoArgs {
}
export interface QueryConnectionStateArgs {
id: Scalars['ID'];
projectId?: InputMaybe<Scalars['ID']>;
}
export interface QueryCopyConnectionConfigurationArgs {
config?: InputMaybe<ConnectionConfig>;
nodePath: Scalars['String'];
@@ -1444,8 +1428,6 @@ export interface SqlScriptQuery {
export interface ServerConfig {
adminCredentialsSaveEnabled?: Maybe<Scalars['Boolean']>;
anonymousAccessEnabled?: Maybe<Scalars['Boolean']>;
/** @deprecated Field no longer supported */
authenticationEnabled?: Maybe<Scalars['Boolean']>;
configurationMode?: Maybe<Scalars['Boolean']>;
defaultNavigatorSettings: NavigatorSettings;
developmentMode?: Maybe<Scalars['Boolean']>;
@@ -1823,7 +1805,7 @@ export type CreateConnectionConfigurationQueryVariables = Exact<{
}>;
export type CreateConnectionConfigurationQuery = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type CreateConnectionConfigurationQuery = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; configurationType?: DriverConfigurationType; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type CreateConnectionConfigurationFromNodeQueryVariables = Exact<{
nodePath: Scalars['String'];
@@ -1835,7 +1817,7 @@ export type CreateConnectionConfigurationFromNodeQueryVariables = Exact<{
}>;
export type CreateConnectionConfigurationFromNodeQuery = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type CreateConnectionConfigurationFromNodeQuery = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; configurationType?: DriverConfigurationType; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type DeleteConnectionConfigurationQueryVariables = Exact<{
id: Scalars['ID'];
@@ -1861,7 +1843,7 @@ export type GetConnectionsQueryVariables = Exact<{
}>;
export type GetConnectionsQuery = { connections: Array<{ id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } }> };
export type GetConnectionsQuery = { connections: Array<{ id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; configurationType?: DriverConfigurationType; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } }> };
export type GetSubjectConnectionAccessQueryVariables = Exact<{
subjectId?: InputMaybe<Scalars['ID']>;
@@ -1904,7 +1886,7 @@ export type UpdateConnectionConfigurationQueryVariables = Exact<{
}>;
export type UpdateConnectionConfigurationQuery = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type UpdateConnectionConfigurationQuery = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; configurationType?: DriverConfigurationType; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type CloseConnectionMutationVariables = Exact<{
projectId: Scalars['ID'];
@@ -1916,7 +1898,7 @@ export type CloseConnectionMutationVariables = Exact<{
}>;
export type CloseConnectionMutation = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type CloseConnectionMutation = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; configurationType?: DriverConfigurationType; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type CreateConnectionMutationVariables = Exact<{
projectId: Scalars['ID'];
@@ -1928,7 +1910,7 @@ export type CreateConnectionMutationVariables = Exact<{
}>;
export type CreateConnectionMutation = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type CreateConnectionMutation = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; configurationType?: DriverConfigurationType; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type CreateConnectionFolderMutationVariables = Exact<{
projectId: Scalars['ID'];
@@ -1950,7 +1932,7 @@ export type CreateConnectionFromNodeMutationVariables = Exact<{
}>;
export type CreateConnectionFromNodeMutation = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type CreateConnectionFromNodeMutation = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; configurationType?: DriverConfigurationType; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type CreateConnectionFromTemplateMutationVariables = Exact<{
projectId: Scalars['ID'];
@@ -1963,7 +1945,7 @@ export type CreateConnectionFromTemplateMutationVariables = Exact<{
}>;
export type CreateConnectionFromTemplateMutation = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type CreateConnectionFromTemplateMutation = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; configurationType?: DriverConfigurationType; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type DeleteConnectionMutationVariables = Exact<{
projectId: Scalars['ID'];
@@ -1989,7 +1971,7 @@ export type DriverListQueryVariables = Exact<{
}>;
export type DriverListQuery = { drivers: Array<{ id: string; name?: string; icon?: string; description?: string; defaultPort?: string; defaultDatabase?: string; defaultServer?: string; defaultUser?: string; sampleURL?: string; embedded?: boolean; enabled: boolean; requiresServerName?: boolean; anonymousAccess?: boolean; promotedScore?: number; defaultAuthModel: string; applicableAuthModels: Array<string>; applicableNetworkHandlers: Array<string>; driverParameters?: any; providerProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; length: ObjectPropertyLength; features: Array<string>; order: number }>; driverProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any> }> }> };
export type DriverListQuery = { drivers: Array<{ id: string; name?: string; icon?: string; description?: string; defaultPort?: string; defaultDatabase?: string; defaultServer?: string; defaultUser?: string; sampleURL?: string; embedded?: boolean; enabled: boolean; requiresServerName?: boolean; anonymousAccess?: boolean; promotedScore?: number; defaultAuthModel: string; applicableAuthModels: Array<string>; applicableNetworkHandlers: Array<string>; configurationTypes: Array<DriverConfigurationType>; driverParameters?: any; providerProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; length: ObjectPropertyLength; features: Array<string>; order: number }>; driverProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any> }> }> };
export type ExecutionContextCreateMutationVariables = Exact<{
projectId: Scalars['ID'];
@@ -2052,7 +2034,7 @@ export type GetTemplateConnectionsQueryVariables = Exact<{
}>;
export type GetTemplateConnectionsQuery = { connections: Array<{ id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } }> };
export type GetTemplateConnectionsQuery = { connections: Array<{ id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; configurationType?: DriverConfigurationType; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } }> };
export type GetUserConnectionsQueryVariables = Exact<{
projectId?: InputMaybe<Scalars['ID']>;
@@ -2064,7 +2046,7 @@ export type GetUserConnectionsQueryVariables = Exact<{
}>;
export type GetUserConnectionsQuery = { connections: Array<{ id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } }> };
export type GetUserConnectionsQuery = { connections: Array<{ id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; configurationType?: DriverConfigurationType; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } }> };
export type InitConnectionMutationVariables = Exact<{
projectId: Scalars['ID'];
@@ -2079,7 +2061,7 @@ export type InitConnectionMutationVariables = Exact<{
}>;
export type InitConnectionMutation = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type InitConnectionMutation = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; configurationType?: DriverConfigurationType; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type RefreshSessionConnectionsMutationVariables = Exact<{ [key: string]: never }>;
@@ -2097,7 +2079,7 @@ export type SetConnectionNavigatorSettingsMutationVariables = Exact<{
}>;
export type SetConnectionNavigatorSettingsMutation = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type SetConnectionNavigatorSettingsMutation = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; configurationType?: DriverConfigurationType; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type TestConnectionMutationVariables = Exact<{
projectId: Scalars['ID'];
@@ -2124,7 +2106,7 @@ export type UpdateConnectionMutationVariables = Exact<{
}>;
export type UpdateConnectionMutation = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type UpdateConnectionMutation = { connection: { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; configurationType?: DriverConfigurationType; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } } };
export type ExportDataFromContainerQueryVariables = Exact<{
projectId: Scalars['ID'];
@@ -2185,9 +2167,9 @@ export type AuthTokenFragment = { authProvider: string; authConfiguration?: stri
export type ConnectionFolderInfoFragment = { id: string; projectId: string; description?: string };
export type DatabaseConnectionFragment = { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } };
export type DatabaseConnectionFragment = { id: string; projectId: string; name: string; description?: string; driverId: string; template: boolean; connected: boolean; provided: boolean; useUrl: boolean; readOnly: boolean; saveCredentials: boolean; folder?: string; nodePath?: string; host?: string; port?: string; serverName?: string; databaseName?: string; url?: string; properties?: any; providerProperties: any; features: Array<string>; supportedDataFormats: Array<ResultDataFormat>; configurationType?: DriverConfigurationType; authNeeded: boolean; authModel?: string; canViewSettings: boolean; canEdit: boolean; canDelete: boolean; origin?: { type: string; subType?: string; displayName: string; icon?: string; details?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; value?: any; length: ObjectPropertyLength; features: Array<string>; order: number }> }; authProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; value?: any; validValues?: Array<any>; defaultValue?: any; length: ObjectPropertyLength; features: Array<string>; order: number }>; networkHandlersConfig: Array<{ id: string; enabled: boolean; authType: NetworkHandlerAuthType; userName?: string; password?: string; key?: string; savePassword: boolean; properties?: any }>; navigatorSettings: { showSystemObjects: boolean; showUtilityObjects: boolean; showOnlyEntities: boolean; mergeEntities: boolean; hideFolders: boolean; hideSchemas: boolean; hideVirtualModel: boolean } };
export type DatabaseDriverFragment = { id: string; name?: string; icon?: string; description?: string; defaultPort?: string; defaultDatabase?: string; defaultServer?: string; defaultUser?: string; sampleURL?: string; embedded?: boolean; enabled: boolean; requiresServerName?: boolean; anonymousAccess?: boolean; promotedScore?: number; defaultAuthModel: string; applicableAuthModels: Array<string>; applicableNetworkHandlers: Array<string>; driverParameters?: any; providerProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; length: ObjectPropertyLength; features: Array<string>; order: number }>; driverProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any> }> };
export type DatabaseDriverFragment = { id: string; name?: string; icon?: string; description?: string; defaultPort?: string; defaultDatabase?: string; defaultServer?: string; defaultUser?: string; sampleURL?: string; embedded?: boolean; enabled: boolean; requiresServerName?: boolean; anonymousAccess?: boolean; promotedScore?: number; defaultAuthModel: string; applicableAuthModels: Array<string>; applicableNetworkHandlers: Array<string>; configurationTypes: Array<DriverConfigurationType>; driverParameters?: any; providerProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any>; length: ObjectPropertyLength; features: Array<string>; order: number }>; driverProperties?: Array<{ id?: string; displayName?: string; description?: string; category?: string; dataType?: string; defaultValue?: any; validValues?: Array<any> }> };
export type ExecutionContextInfoFragment = { id: string; projectId: string; connectionId: string; defaultCatalog?: string; defaultSchema?: string };
@@ -2728,6 +2710,7 @@ export const DatabaseConnectionFragmentDoc = `
providerProperties
features
supportedDataFormats
configurationType
origin @include(if: $includeOrigin) {
...ObjectOriginInfo
}
@@ -2775,6 +2758,7 @@ export const DatabaseDriverFragmentDoc = `
defaultAuthModel
applicableAuthModels
applicableNetworkHandlers
configurationTypes
providerProperties @include(if: $includeProviderProperties) {
id
displayName
@@ -8,10 +8,10 @@
import { action, makeObservable, runInAction, toJS } from 'mobx';
import { CONNECTION_FOLDER_NAME_VALIDATION, createConnectionParam, DatabaseAuthModelsResource, DatabaseConnection, DBDriverResource, isJDBCConnection } from '@cloudbeaver/core-connections';
import { createConnectionParam, DatabaseAuthModelsResource, DatabaseConnection, DBDriverResource, isJDBCConnection } from '@cloudbeaver/core-connections';
import { Bootstrap, injectable } from '@cloudbeaver/core-di';
import type { IExecutionContextProvider } from '@cloudbeaver/core-executor';
import { CachedMapAllKey, isObjectPropertyInfoStateEqual, ObjectPropertyInfo } from '@cloudbeaver/core-sdk';
import { CachedMapAllKey, DriverConfigurationType, isObjectPropertyInfoStateEqual, ObjectPropertyInfo } from '@cloudbeaver/core-sdk';
import { getUniqueName, isValuesEqual } from '@cloudbeaver/core-utils';
import { connectionFormConfigureContext } from '../connectionFormConfigureContext';
@@ -123,6 +123,14 @@ export class ConnectionOptionsTabService extends Bootstrap {
validation.error("Field 'name' can't be empty");
}
if (state.config.driverId && state.config.configurationType) {
const driver = await this.dbDriverResource.load(state.config.driverId, ['includeProviderProperties']);
if (!driver.configurationTypes.includes(state.config.configurationType)) {
validation.error('Configuration is not supported');
}
}
// if (state.config.folder && !state.config.folder.match(CONNECTION_FOLDER_NAME_VALIDATION)) {
// validation.error('connections_connection_folder_validation');
// }
@@ -150,6 +158,7 @@ export class ConnectionOptionsTabService extends Bootstrap {
}
state.config.connectionId = state.info.id;
state.config.configurationType = state.info.configurationType;
state.config.name = state.info.name;
state.config.description = state.info.description;
@@ -206,6 +215,8 @@ export class ConnectionOptionsTabService extends Bootstrap {
tempConfig.connectionId = state.config.connectionId;
}
tempConfig.configurationType = state.config.configurationType;
tempConfig.name = state.config.name?.trim();
if (tempConfig.name && state.mode === 'create') {
@@ -222,7 +233,7 @@ export class ConnectionOptionsTabService extends Bootstrap {
tempConfig.folder = state.config.folder;
}
if (isJDBCConnection(driver, state.info)) {
if (tempConfig.configurationType === DriverConfigurationType.Url) {
tempConfig.url = state.config.url;
} else {
if (!driver.embedded) {
@@ -286,6 +297,7 @@ export class ConnectionOptionsTabService extends Bootstrap {
if (
!isValuesEqual(config.name, data.info.name, '')
|| !isValuesEqual(config.configurationType, data.info.configurationType, DriverConfigurationType.Extended)
|| !isValuesEqual(config.description, data.info.description, '')
|| !isValuesEqual(config.template, data.info.template, true)
|| !isValuesEqual(config.folder, data.info.folder, undefined)
@@ -26,14 +26,16 @@ import {
Combobox,
Container,
useFormValidator,
Loader,
getComputed,
Radio,
RadioGroup,
FormFieldDescription,
} from '@cloudbeaver/core-blocks';
import { DatabaseAuthModelsResource, DBDriverResource, isJDBCConnection, isLocalConnection } from '@cloudbeaver/core-connections';
import { DatabaseAuthModelsResource, DBDriverResource, isLocalConnection } from '@cloudbeaver/core-connections';
import { useService } from '@cloudbeaver/core-di';
import { useTranslate } from '@cloudbeaver/core-localization';
import { usePermission } from '@cloudbeaver/core-root';
import { CachedMapEmptyKey, resourceKeyList } from '@cloudbeaver/core-sdk';
import { CachedMapEmptyKey, DriverConfigurationType, resourceKeyList } from '@cloudbeaver/core-sdk';
import { useStyles } from '@cloudbeaver/core-theming';
import type { TabContainerPanelComponent } from '@cloudbeaver/core-ui';
import { useAuthenticationAction } from '@cloudbeaver/core-ui';
@@ -50,6 +52,24 @@ const styles = css`
}
`;
interface IDriverConfiguration {
name: string;
value: DriverConfigurationType;
description?: string;
icon?: string;
}
const driverConfiguration: IDriverConfiguration[] = [
{
name: 'Manual',
value: DriverConfigurationType.Extended,
},
{
name: 'URL',
value: DriverConfigurationType.Url,
},
];
export const Options: TabContainerPanelComponent<IConnectionFormProps> = observer(function Options({
state,
}) {
@@ -109,6 +129,8 @@ export const Options: TabContainerPanelComponent<IConnectionFormProps> = observe
);
const driver = driverMap.data;
const configurationTypes = driverConfiguration
.filter(conf => driver?.configurationTypes.includes(conf.value));
function handleFormChange(value?: unknown, name?: string) {
if (name !== 'name') {
@@ -135,12 +157,12 @@ export const Options: TabContainerPanelComponent<IConnectionFormProps> = observe
}
);
const JDBC = isJDBCConnection(driver, info);
const admin = state.type === 'admin';
const isURLConfiguration = config.configurationType === DriverConfigurationType.Url;
const edit = state.mode === 'edit';
const originLocal = !info || isLocalConnection(info);
const availableAuthModels = applicableAuthModels.filter(model => !!model && (adminPermission
const availableAuthModels = applicableAuthModels.filter(model => !!model && (
adminPermission
|| !model.requiresLocalConfiguration
));
const drivers = driverMap.resource.values
@@ -178,12 +200,83 @@ export const Options: TabContainerPanelComponent<IConnectionFormProps> = observe
searchable={drivers.length > 10}
readOnly={readonly || edit || drivers.length < 2}
disabled={disabled}
loading={driverMap.isLoading()}
tiny
fill
onSelect={handleDriverSelect}
>
{translate('connections_connection_driver')}
</Combobox>
{configurationTypes.length > 1 && (
<>
{/*<Combobox
name='configurationType'
state={config}
items={configurationTypes}
keySelector={conf => conf.value}
valueSelector={conf => conf.name}
titleSelector={conf => conf.description}
readOnly={readonly || configurationTypes.length < 2}
disabled={disabled}
tiny
fill
>
{translate('connections_connection_configuration')}
</Combobox>*/}
<FormFieldDescription
label={translate('connections_connection_configuration')}
tiny
fill
>
<Container gap>
<RadioGroup
name='configurationType'
state={config}
>
{driverConfiguration.map(conf => (
<Radio
key={conf.value}
id={conf.value}
value={conf.value}
mod={['primary', 'small']}
readOnly={readonly || configurationTypes.length < 2}
disabled={readonly}
keepSize
>
{conf.name}
</Radio>
))}
</RadioGroup>
</Container>
</FormFieldDescription>
</>
)}
</Container>
{isURLConfiguration ? (
<InputField
type="text"
name="url"
state={config}
disabled={disabled}
readOnly={readonly}
autoComplete={`section-${config.driverId || 'driver'} section-jdbc`}
mod='surface'
>
{translate('customConnection_url_JDBC')}
</InputField>
) : (
<ParametersForm
config={config}
embedded={driver?.embedded}
requiresServerName={driver?.requiresServerName}
disabled={disabled}
readOnly={readonly}
originLocal={originLocal}
/>
)}
</Group>
<Group form gap>
<Container wrap gap>
<InputField
type="text"
name="name"
@@ -198,65 +291,43 @@ export const Options: TabContainerPanelComponent<IConnectionFormProps> = observe
>
{translate('connections_connection_name')}
</InputField>
</Container>
<Loader state={driverMap} inline inlineException>
{JDBC ? (
<InputField
type="text"
name="url"
state={config}
disabled={disabled}
readOnly={readonly}
autoComplete={`section-${config.driverId || 'driver'} section-jdbc`}
mod='surface'
>
{translate('customConnection_url_JDBC')}
</InputField>
) : (
<ParametersForm
config={config}
embedded={driver?.embedded}
requiresServerName={driver?.requiresServerName}
disabled={disabled}
readOnly={readonly}
originLocal={originLocal}
/>
)}
{admin && originLocal && (
<FieldCheckbox
id={config.connectionId}
name="template"
state={config}
disabled={edit || disabled}
readOnly={readonly}
// autoHide // maybe better to use autoHide
>
{translate('connections_connection_template')}
</FieldCheckbox>
)}
{admin && !config.template && (
{!config.template && (
<InputField
type="text"
name="folder"
state={config}
disabled={disabled}
readOnly={readonly}
autoComplete={`section-${config.driverId || 'driver'} section-folder`}
mod='surface'
readOnly
tiny
fill
>
{translate('customConnection_folder')}
</InputField>
)}
<Textarea
name="description"
rows={3}
</Container>
{adminPermission && originLocal && (
<FieldCheckbox
id={config.connectionId}
name="template"
state={config}
disabled={disabled}
disabled={edit || disabled}
readOnly={readonly}
// autoHide // maybe better to use autoHide
>
{translate('connections_connection_description')}
</Textarea>
</Loader>
{translate('connections_connection_template')}
</FieldCheckbox>
)}
<Textarea
name="description"
rows={3}
state={config}
disabled={disabled}
readOnly={readonly}
>
{translate('connections_connection_description')}
</Textarea>
</Group>
</Container>
<Container medium gap>
@@ -10,7 +10,7 @@ import { runInAction } from 'mobx';
import { useObjectRef } from '@cloudbeaver/core-blocks';
import { DBDriver, isJDBCConnection } from '@cloudbeaver/core-connections';
import type { DatabaseAuthModel } from '@cloudbeaver/core-sdk';
import { DatabaseAuthModel, DriverConfigurationType } from '@cloudbeaver/core-sdk';
import type { IConnectionFormState } from '../IConnectionFormProps';
@@ -76,6 +76,14 @@ export function useOptions(state: IConnectionFormState) {
return;
}
if (!config.configurationType || !driver?.configurationTypes.includes(config.configurationType)) {
config.configurationType = (
driver?.configurationTypes.includes(DriverConfigurationType.Extended)
? DriverConfigurationType.Extended
: DriverConfigurationType.Url
);
}
if ((!prevDriver && config.host === undefined) || config.host === prevDriver?.defaultServer) {
config.host = driver?.defaultServer || 'localhost';
}