From 443be1bd3e6843273740bc22ddda5a6a964a9aa5 Mon Sep 17 00:00:00 2001 From: Ainur <59531286+yagudin10@users.noreply.github.com> Date: Wed, 18 Jan 2023 18:47:46 +0100 Subject: [PATCH] CB-2699 oracle package body api (#1408) * CB-2699 oracle package body api * CB-2699 support extended ddl * CB-2699 add outdated logic * CB-2699 return multiple ids * CB-2699 fix import Co-authored-by: Aleksey Potsetsuev Co-authored-by: naumov Co-authored-by: MarinaVorobeva21 <98399603+MarinaVorobeva21@users.noreply.github.com> --- .../schema/service.metadata.graphqls | 1 + .../service/metadata/DBWServiceMetadata.java | 3 + .../metadata/WebServiceBindingMetadata.java | 25 +- .../metadata/impl/WebServiceMetadata.java | 47 ++- .../queries/metadataGetNodeExtendedDDL.gql | 3 + webapp/packages/core-sdk/src/sdk.ts | 277 ++++++++++-------- .../src/DdlViewer/DDLViewerTab.tsx | 8 +- .../src/DdlViewer/DDLViewerTabPanel.tsx | 25 +- .../src/DdlViewer/DdlViewerController.ts | 2 +- .../src/{ => DdlViewer}/DdlViewerService.ts | 0 .../src/DdlViewerBootstrap.ts | 26 +- .../ExtendedDDLViewer/ExtendedDDLResource.ts | 39 +++ .../ExtendedDDLViewerTabPanel.tsx | 59 ++++ .../plugin-ddl-viewer/src/NAV_NODE_DDL_ID.ts | 9 + .../src/NAV_NODE_EXTENDED_DDL_ID.ts | 9 + .../plugin-ddl-viewer/src/TAB_PANEL_STYLES.ts | 29 ++ .../plugin-ddl-viewer/src/manifest.ts | 4 +- 17 files changed, 381 insertions(+), 185 deletions(-) create mode 100644 webapp/packages/core-sdk/src/queries/metadataGetNodeExtendedDDL.gql rename webapp/packages/plugin-ddl-viewer/src/{ => DdlViewer}/DdlViewerService.ts (100%) create mode 100644 webapp/packages/plugin-ddl-viewer/src/ExtendedDDLViewer/ExtendedDDLResource.ts create mode 100644 webapp/packages/plugin-ddl-viewer/src/ExtendedDDLViewer/ExtendedDDLViewerTabPanel.tsx create mode 100644 webapp/packages/plugin-ddl-viewer/src/NAV_NODE_DDL_ID.ts create mode 100644 webapp/packages/plugin-ddl-viewer/src/NAV_NODE_EXTENDED_DDL_ID.ts create mode 100644 webapp/packages/plugin-ddl-viewer/src/TAB_PANEL_STYLES.ts diff --git a/server/bundles/io.cloudbeaver.service.metadata/schema/service.metadata.graphqls b/server/bundles/io.cloudbeaver.service.metadata/schema/service.metadata.graphqls index 0fde710b52..522c950d59 100644 --- a/server/bundles/io.cloudbeaver.service.metadata/schema/service.metadata.graphqls +++ b/server/bundles/io.cloudbeaver.service.metadata/schema/service.metadata.graphqls @@ -4,5 +4,6 @@ extend type Query { # Get child nodes metadataGetNodeDDL(nodeId: ID!, options: Object): String + metadataGetNodeExtendedDDL(nodeId: ID!): String } diff --git a/server/bundles/io.cloudbeaver.service.metadata/src/io/cloudbeaver/service/metadata/DBWServiceMetadata.java b/server/bundles/io.cloudbeaver.service.metadata/src/io/cloudbeaver/service/metadata/DBWServiceMetadata.java index 447ef26d19..f0db1c738b 100644 --- a/server/bundles/io.cloudbeaver.service.metadata/src/io/cloudbeaver/service/metadata/DBWServiceMetadata.java +++ b/server/bundles/io.cloudbeaver.service.metadata/src/io/cloudbeaver/service/metadata/DBWServiceMetadata.java @@ -32,4 +32,7 @@ public interface DBWServiceMetadata extends DBWService { @WebAction String getNodeDDL(WebSession webSession, DBNNode node, Map options) throws DBWebException; + @WebAction + String getNodeExtendedDDL(WebSession webSession, DBNNode node) throws DBWebException; + } diff --git a/server/bundles/io.cloudbeaver.service.metadata/src/io/cloudbeaver/service/metadata/WebServiceBindingMetadata.java b/server/bundles/io.cloudbeaver.service.metadata/src/io/cloudbeaver/service/metadata/WebServiceBindingMetadata.java index fee645e54e..bcca8fc6de 100644 --- a/server/bundles/io.cloudbeaver.service.metadata/src/io/cloudbeaver/service/metadata/WebServiceBindingMetadata.java +++ b/server/bundles/io.cloudbeaver.service.metadata/src/io/cloudbeaver/service/metadata/WebServiceBindingMetadata.java @@ -16,11 +16,13 @@ */ package io.cloudbeaver.service.metadata; +import graphql.schema.DataFetchingEnvironment; import io.cloudbeaver.DBWebException; import io.cloudbeaver.model.session.WebSession; import io.cloudbeaver.service.DBWBindingContext; import io.cloudbeaver.service.WebServiceBindingBase; import io.cloudbeaver.service.metadata.impl.WebServiceMetadata; +import org.jkiss.dbeaver.DBException; import org.jkiss.dbeaver.model.navigator.DBNNode; import java.util.Map; @@ -38,15 +40,20 @@ public class WebServiceBindingMetadata extends WebServiceBindingBase { - WebSession webSession = getWebSession(env); - - String nodePath = env.getArgument("nodeId"); - DBNNode node = webSession.getNavigatorModel().getNodeByPath(webSession.getProgressMonitor(), nodePath); - Map options = env.getArgument("options"); - - return getService(env).getNodeDDL(webSession, node, options); - }); + model.getQueryType() + .dataFetcher("metadataGetNodeDDL", env -> getService(env).getNodeDDL( + getWebSession(env), + getNodeFromPath(env), + env.getArgument("options")) + ).dataFetcher("metadataGetNodeExtendedDDL", env -> getService(env).getNodeExtendedDDL( + getWebSession(env), + getNodeFromPath(env) + )); + } + private DBNNode getNodeFromPath(DataFetchingEnvironment env) throws DBException { + WebSession webSession = getWebSession(env); + String nodePath = env.getArgument("nodeId"); + return webSession.getNavigatorModel().getNodeByPath(webSession.getProgressMonitor(), nodePath); } } diff --git a/server/bundles/io.cloudbeaver.service.metadata/src/io/cloudbeaver/service/metadata/impl/WebServiceMetadata.java b/server/bundles/io.cloudbeaver.service.metadata/src/io/cloudbeaver/service/metadata/impl/WebServiceMetadata.java index 3b71170831..6c6a5fd587 100644 --- a/server/bundles/io.cloudbeaver.service.metadata/src/io/cloudbeaver/service/metadata/impl/WebServiceMetadata.java +++ b/server/bundles/io.cloudbeaver.service.metadata/src/io/cloudbeaver/service/metadata/impl/WebServiceMetadata.java @@ -21,6 +21,7 @@ import io.cloudbeaver.model.session.WebSession; import io.cloudbeaver.service.metadata.DBWServiceMetadata; import org.jkiss.dbeaver.DBException; import org.jkiss.dbeaver.model.DBPScriptObject; +import org.jkiss.dbeaver.model.DBPScriptObjectExt; import org.jkiss.dbeaver.model.navigator.DBNDatabaseNode; import org.jkiss.dbeaver.model.navigator.DBNNode; import org.jkiss.dbeaver.model.struct.DBSObject; @@ -36,21 +37,37 @@ public class WebServiceMetadata implements DBWServiceMetadata { @Override public String getNodeDDL(WebSession webSession, DBNNode dbNode, Map options) throws DBWebException { - if (dbNode instanceof DBNDatabaseNode) { - DBSObject object = ((DBNDatabaseNode) dbNode).getObject(); - if (object instanceof DBPScriptObject) { - if (options == null) { - options = new LinkedHashMap<>(); - } - try { - return ((DBPScriptObject) object).getObjectDefinitionText(webSession.getProgressMonitor(), options); - } catch (DBException e) { - throw new DBWebException("Error extracting DDL", e); - } - } else { - throw new DBWebException("Object '" + dbNode.getNodeItemPath() + "' doesn't support DDL"); - } - } else { + validateDatabaseNode(dbNode); + DBSObject object = ((DBNDatabaseNode) dbNode).getObject(); + if (!(object instanceof DBPScriptObject)) { + throw new DBWebException("Object '" + dbNode.getNodeItemPath() + "' doesn't support DDL"); + } + if (options == null) { + options = new LinkedHashMap<>(); + } + try { + return ((DBPScriptObject) object).getObjectDefinitionText(webSession.getProgressMonitor(), options); + } catch (DBException e) { + throw new DBWebException("Error extracting DDL", e); + } + } + + @Override + public String getNodeExtendedDDL(WebSession webSession, DBNNode dbNode) throws DBWebException { + validateDatabaseNode(dbNode); + DBSObject object = ((DBNDatabaseNode) dbNode).getObject(); + if (!(object instanceof DBPScriptObjectExt)) { + throw new DBWebException("Object '" + dbNode.getNodeItemPath() + "' doesn't support extended DDL"); + } + try { + return ((DBPScriptObjectExt) object).getExtendedDefinitionText(webSession.getProgressMonitor()); + } catch (DBException e) { + throw new DBWebException("Error extracting extended DDL", e); + } + } + + private void validateDatabaseNode(DBNNode dbNode) throws DBWebException { + if (!(dbNode instanceof DBNDatabaseNode)) { throw new DBWebException("Node '" + dbNode.getNodeItemPath() + "' is not database node"); } } diff --git a/webapp/packages/core-sdk/src/queries/metadataGetNodeExtendedDDL.gql b/webapp/packages/core-sdk/src/queries/metadataGetNodeExtendedDDL.gql new file mode 100644 index 0000000000..f286e6c377 --- /dev/null +++ b/webapp/packages/core-sdk/src/queries/metadataGetNodeExtendedDDL.gql @@ -0,0 +1,3 @@ +query metadataGetNodeExtendedDDL($nodeId: ID!) { + metadataGetNodeExtendedDDL(nodeId: $nodeId) +} \ No newline at end of file diff --git a/webapp/packages/core-sdk/src/sdk.ts b/webapp/packages/core-sdk/src/sdk.ts index 5db3d31bd7..af7d814fa8 100644 --- a/webapp/packages/core-sdk/src/sdk.ts +++ b/webapp/packages/core-sdk/src/sdk.ts @@ -1000,6 +1000,7 @@ export interface Query { listUserProfileProperties: Array; listUsers: Array; metadataGetNodeDDL?: Maybe; + metadataGetNodeExtendedDDL?: Maybe; navGetStructContainers: DatabaseStructContainers; navNodeChildren: Array; navNodeInfo: NavigatorNodeInfo; @@ -1198,6 +1199,11 @@ export interface QueryMetadataGetNodeDdlArgs { } +export interface QueryMetadataGetNodeExtendedDdlArgs { + nodeId: Scalars['ID']; +} + + export interface QueryNavGetStructContainersArgs { catalog?: InputMaybe; connectionId: Scalars['ID']; @@ -2522,6 +2528,13 @@ export type MetadataGetNodeDdlQueryVariables = Exact<{ export type MetadataGetNodeDdlQuery = { metadataGetNodeDDL?: string }; +export type MetadataGetNodeExtendedDdlQueryVariables = Exact<{ + nodeId: Scalars['ID']; +}>; + + +export type MetadataGetNodeExtendedDdlQuery = { metadataGetNodeExtendedDDL?: string }; + export type GetChildrenDbObjectInfoQueryVariables = Exact<{ navNodeId: Scalars['ID']; offset?: InputMaybe; @@ -4115,6 +4128,11 @@ export const MetadataGetNodeDdlDocument = ` metadataGetNodeDDL(nodeId: $nodeId) } `; +export const MetadataGetNodeExtendedDdlDocument = ` + query metadataGetNodeExtendedDDL($nodeId: ID!) { + metadataGetNodeExtendedDDL(nodeId: $nodeId) +} + `; export const GetChildrenDbObjectInfoDocument = ` query getChildrenDBObjectInfo($navNodeId: ID!, $offset: Int, $limit: Int, $filter: ObjectPropertyFilter) { dbObjects: navNodeChildren( @@ -4545,7 +4563,7 @@ export const SqlGenerateEntityQueryDocument = ` } `; -export type SdkFunctionWrapper = (action: (requestHeaders?: Record) => Promise, operationName: string, operationType?: string) => Promise; +export type SdkFunctionWrapper = (action: (requestHeaders?:Record) => Promise, operationName: string, operationType?: string) => Promise; const defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType) => action(); @@ -4553,385 +4571,388 @@ const defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationTy export function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) { return { getPermissionsList(variables?: GetPermissionsListQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetPermissionsListDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getPermissionsList', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetPermissionsListDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getPermissionsList', 'query'); }, setSubjectPermissions(variables: SetSubjectPermissionsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SetSubjectPermissionsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'setSubjectPermissions', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(SetSubjectPermissionsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'setSubjectPermissions', 'query'); }, asyncTaskCancel(variables: AsyncTaskCancelMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(AsyncTaskCancelDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'asyncTaskCancel', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(AsyncTaskCancelDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'asyncTaskCancel', 'mutation'); }, authChangeLocalPassword(variables: AuthChangeLocalPasswordQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(AuthChangeLocalPasswordDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'authChangeLocalPassword', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(AuthChangeLocalPasswordDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'authChangeLocalPassword', 'query'); }, authLogin(variables: AuthLoginQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(AuthLoginDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'authLogin', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(AuthLoginDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'authLogin', 'query'); }, authLogout(variables?: AuthLogoutQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(AuthLogoutDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'authLogout', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(AuthLogoutDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'authLogout', 'query'); }, deleteAuthProviderConfiguration(variables: DeleteAuthProviderConfigurationQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(DeleteAuthProviderConfigurationDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'deleteAuthProviderConfiguration', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(DeleteAuthProviderConfigurationDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'deleteAuthProviderConfiguration', 'query'); }, getActiveUser(variables: GetActiveUserQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetActiveUserDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getActiveUser', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetActiveUserDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getActiveUser', 'query'); }, getAuthProviderConfigurationParameters(variables: GetAuthProviderConfigurationParametersQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetAuthProviderConfigurationParametersDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getAuthProviderConfigurationParameters', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetAuthProviderConfigurationParametersDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getAuthProviderConfigurationParameters', 'query'); }, getAuthProviderConfigurations(variables?: GetAuthProviderConfigurationsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetAuthProviderConfigurationsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getAuthProviderConfigurations', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetAuthProviderConfigurationsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getAuthProviderConfigurations', 'query'); }, getAuthProviders(variables?: GetAuthProvidersQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetAuthProvidersDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getAuthProviders', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetAuthProvidersDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getAuthProviders', 'query'); }, getAuthRoles(variables?: GetAuthRolesQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetAuthRolesDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getAuthRoles', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetAuthRolesDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getAuthRoles', 'query'); }, getAuthStatus(variables: GetAuthStatusQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetAuthStatusDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getAuthStatus', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetAuthStatusDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getAuthStatus', 'query'); }, getUserProfileProperties(variables?: GetUserProfilePropertiesQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetUserProfilePropertiesDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getUserProfileProperties', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetUserProfilePropertiesDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getUserProfileProperties', 'query'); }, saveAuthProviderConfiguration(variables: SaveAuthProviderConfigurationQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SaveAuthProviderConfigurationDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'saveAuthProviderConfiguration', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(SaveAuthProviderConfigurationDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'saveAuthProviderConfiguration', 'query'); }, saveUserMetaParameters(variables: SaveUserMetaParametersQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SaveUserMetaParametersDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'saveUserMetaParameters', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(SaveUserMetaParametersDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'saveUserMetaParameters', 'query'); }, createTeam(variables: CreateTeamQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(CreateTeamDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'createTeam', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(CreateTeamDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'createTeam', 'query'); }, deleteTeam(variables: DeleteTeamQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(DeleteTeamDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'deleteTeam', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(DeleteTeamDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'deleteTeam', 'query'); }, getTeamGrantedUsers(variables: GetTeamGrantedUsersQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetTeamGrantedUsersDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getTeamGrantedUsers', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetTeamGrantedUsersDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getTeamGrantedUsers', 'query'); }, getTeamMetaParameters(variables?: GetTeamMetaParametersQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetTeamMetaParametersDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getTeamMetaParameters', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetTeamMetaParametersDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getTeamMetaParameters', 'query'); }, getTeamsList(variables: GetTeamsListQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetTeamsListDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getTeamsList', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetTeamsListDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getTeamsList', 'query'); }, saveTeamMetaParameters(variables: SaveTeamMetaParametersQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SaveTeamMetaParametersDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'saveTeamMetaParameters', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(SaveTeamMetaParametersDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'saveTeamMetaParameters', 'query'); }, updateTeam(variables: UpdateTeamQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(UpdateTeamDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'updateTeam', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(UpdateTeamDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'updateTeam', 'query'); }, createUser(variables: CreateUserQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(CreateUserDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'createUser', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(CreateUserDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'createUser', 'query'); }, deleteUser(variables: DeleteUserQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(DeleteUserDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'deleteUser', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(DeleteUserDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'deleteUser', 'query'); }, deleteUserMetaParameter(variables: DeleteUserMetaParameterQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(DeleteUserMetaParameterDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'deleteUserMetaParameter', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(DeleteUserMetaParameterDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'deleteUserMetaParameter', 'query'); }, enableUser(variables: EnableUserQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(EnableUserDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'enableUser', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(EnableUserDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'enableUser', 'query'); }, getUserGrantedConnections(variables: GetUserGrantedConnectionsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetUserGrantedConnectionsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getUserGrantedConnections', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetUserGrantedConnectionsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getUserGrantedConnections', 'query'); }, getUsersList(variables: GetUsersListQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetUsersListDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getUsersList', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetUsersListDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getUsersList', 'query'); }, grantUserTeam(variables: GrantUserTeamQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GrantUserTeamDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'grantUserTeam', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GrantUserTeamDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'grantUserTeam', 'query'); }, revokeUserTeam(variables: RevokeUserTeamQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(RevokeUserTeamDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'revokeUserTeam', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(RevokeUserTeamDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'revokeUserTeam', 'query'); }, setConnections(variables: SetConnectionsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SetConnectionsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'setConnections', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(SetConnectionsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'setConnections', 'query'); }, setUserAuthRole(variables: SetUserAuthRoleQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SetUserAuthRoleDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'setUserAuthRole', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(SetUserAuthRoleDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'setUserAuthRole', 'query'); }, setUserConfigurationParameter(variables: SetUserConfigurationParameterMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SetUserConfigurationParameterDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'setUserConfigurationParameter', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(SetUserConfigurationParameterDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'setUserConfigurationParameter', 'mutation'); }, setUserCredentials(variables: SetUserCredentialsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SetUserCredentialsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'setUserCredentials', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(SetUserCredentialsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'setUserCredentials', 'query'); }, setUserMetaParameter(variables: SetUserMetaParameterQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SetUserMetaParameterDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'setUserMetaParameter', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(SetUserMetaParameterDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'setUserMetaParameter', 'query'); }, updateUserProfileProperties(variables: UpdateUserProfilePropertiesQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(UpdateUserProfilePropertiesDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'updateUserProfileProperties', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(UpdateUserProfilePropertiesDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'updateUserProfileProperties', 'query'); }, getConnectionAccess(variables: GetConnectionAccessQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetConnectionAccessDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getConnectionAccess', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetConnectionAccessDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getConnectionAccess', 'query'); }, getSubjectConnectionAccess(variables: GetSubjectConnectionAccessQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetSubjectConnectionAccessDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getSubjectConnectionAccess', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetSubjectConnectionAccessDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getSubjectConnectionAccess', 'query'); }, searchDatabases(variables: SearchDatabasesQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SearchDatabasesDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'searchDatabases', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(SearchDatabasesDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'searchDatabases', 'query'); }, setConnectionAccess(variables: SetConnectionAccessQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SetConnectionAccessDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'setConnectionAccess', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(SetConnectionAccessDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'setConnectionAccess', 'query'); }, setSubjectConnectionAccess(variables: SetSubjectConnectionAccessQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SetSubjectConnectionAccessDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'setSubjectConnectionAccess', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(SetSubjectConnectionAccessDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'setSubjectConnectionAccess', 'query'); }, closeConnection(variables: CloseConnectionMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(CloseConnectionDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'closeConnection', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(CloseConnectionDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'closeConnection', 'mutation'); }, createConnection(variables: CreateConnectionMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(CreateConnectionDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'createConnection', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(CreateConnectionDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'createConnection', 'mutation'); }, createConnectionFolder(variables: CreateConnectionFolderMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(CreateConnectionFolderDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'createConnectionFolder', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(CreateConnectionFolderDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'createConnectionFolder', 'mutation'); }, createConnectionFromNode(variables: CreateConnectionFromNodeMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(CreateConnectionFromNodeDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'createConnectionFromNode', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(CreateConnectionFromNodeDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'createConnectionFromNode', 'mutation'); }, createConnectionFromTemplate(variables: CreateConnectionFromTemplateMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(CreateConnectionFromTemplateDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'createConnectionFromTemplate', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(CreateConnectionFromTemplateDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'createConnectionFromTemplate', 'mutation'); }, deleteConnection(variables: DeleteConnectionMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(DeleteConnectionDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'deleteConnection', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(DeleteConnectionDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'deleteConnection', 'mutation'); }, deleteConnectionFolder(variables: DeleteConnectionFolderMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(DeleteConnectionFolderDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'deleteConnectionFolder', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(DeleteConnectionFolderDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'deleteConnectionFolder', 'mutation'); }, driverList(variables: DriverListQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(DriverListDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'driverList', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(DriverListDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'driverList', 'query'); }, executionContextCreate(variables: ExecutionContextCreateMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(ExecutionContextCreateDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'executionContextCreate', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(ExecutionContextCreateDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'executionContextCreate', 'mutation'); }, executionContextDestroy(variables: ExecutionContextDestroyMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(ExecutionContextDestroyDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'executionContextDestroy', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(ExecutionContextDestroyDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'executionContextDestroy', 'mutation'); }, executionContextList(variables?: ExecutionContextListQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(ExecutionContextListDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'executionContextList', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(ExecutionContextListDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'executionContextList', 'query'); }, executionContextUpdate(variables: ExecutionContextUpdateMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(ExecutionContextUpdateDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'executionContextUpdate', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(ExecutionContextUpdateDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'executionContextUpdate', 'mutation'); }, getAuthModels(variables?: GetAuthModelsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetAuthModelsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getAuthModels', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetAuthModelsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getAuthModels', 'query'); }, getConnectionFolders(variables?: GetConnectionFoldersQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetConnectionFoldersDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getConnectionFolders', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetConnectionFoldersDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getConnectionFolders', 'query'); }, getTemplateConnections(variables: GetTemplateConnectionsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetTemplateConnectionsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getTemplateConnections', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetTemplateConnectionsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getTemplateConnections', 'query'); }, getUserConnections(variables: GetUserConnectionsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetUserConnectionsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getUserConnections', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetUserConnectionsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getUserConnections', 'query'); }, initConnection(variables: InitConnectionMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(InitConnectionDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'initConnection', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(InitConnectionDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'initConnection', 'mutation'); }, refreshSessionConnections(variables?: RefreshSessionConnectionsMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(RefreshSessionConnectionsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'refreshSessionConnections', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(RefreshSessionConnectionsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'refreshSessionConnections', 'mutation'); }, setConnectionNavigatorSettings(variables: SetConnectionNavigatorSettingsMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SetConnectionNavigatorSettingsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'setConnectionNavigatorSettings', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(SetConnectionNavigatorSettingsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'setConnectionNavigatorSettings', 'mutation'); }, testConnection(variables: TestConnectionMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(TestConnectionDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'testConnection', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(TestConnectionDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'testConnection', 'mutation'); }, testNetworkHandler(variables: TestNetworkHandlerMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(TestNetworkHandlerDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'testNetworkHandler', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(TestNetworkHandlerDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'testNetworkHandler', 'mutation'); }, updateConnection(variables: UpdateConnectionMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(UpdateConnectionDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'updateConnection', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(UpdateConnectionDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'updateConnection', 'mutation'); }, exportDataFromContainer(variables: ExportDataFromContainerQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(ExportDataFromContainerDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'exportDataFromContainer', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(ExportDataFromContainerDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'exportDataFromContainer', 'query'); }, exportDataFromResults(variables: ExportDataFromResultsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(ExportDataFromResultsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'exportDataFromResults', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(ExportDataFromResultsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'exportDataFromResults', 'query'); }, getDataTransferDefaultParameters(variables?: GetDataTransferDefaultParametersQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetDataTransferDefaultParametersDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getDataTransferDefaultParameters', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetDataTransferDefaultParametersDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getDataTransferDefaultParameters', 'query'); }, getDataTransferProcessors(variables?: GetDataTransferProcessorsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetDataTransferProcessorsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getDataTransferProcessors', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetDataTransferProcessorsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getDataTransferProcessors', 'query'); }, removeDataTransferFile(variables: RemoveDataTransferFileQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(RemoveDataTransferFileDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'removeDataTransferFile', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(RemoveDataTransferFileDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'removeDataTransferFile', 'query'); }, navGetStructContainers(variables: NavGetStructContainersQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(NavGetStructContainersDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'navGetStructContainers', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(NavGetStructContainersDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'navGetStructContainers', 'query'); }, getAsyncTaskInfo(variables: GetAsyncTaskInfoMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetAsyncTaskInfoDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getAsyncTaskInfo', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(GetAsyncTaskInfoDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getAsyncTaskInfo', 'mutation'); }, getNetworkHandlers(variables?: GetNetworkHandlersQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetNetworkHandlersDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getNetworkHandlers', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetNetworkHandlersDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getNetworkHandlers', 'query'); }, asyncReadDataFromContainer(variables: AsyncReadDataFromContainerMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(AsyncReadDataFromContainerDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'asyncReadDataFromContainer', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(AsyncReadDataFromContainerDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'asyncReadDataFromContainer', 'mutation'); }, asyncSqlExecuteQuery(variables: AsyncSqlExecuteQueryMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(AsyncSqlExecuteQueryDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'asyncSqlExecuteQuery', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(AsyncSqlExecuteQueryDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'asyncSqlExecuteQuery', 'mutation'); }, asyncSqlExplainExecutionPlan(variables: AsyncSqlExplainExecutionPlanMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(AsyncSqlExplainExecutionPlanDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'asyncSqlExplainExecutionPlan', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(AsyncSqlExplainExecutionPlanDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'asyncSqlExplainExecutionPlan', 'mutation'); }, closeResult(variables: CloseResultMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(CloseResultDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'closeResult', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(CloseResultDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'closeResult', 'mutation'); }, getResultsetDataURL(variables: GetResultsetDataUrlMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetResultsetDataUrlDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getResultsetDataURL', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(GetResultsetDataUrlDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getResultsetDataURL', 'mutation'); }, getSqlExecuteTaskResults(variables: GetSqlExecuteTaskResultsMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetSqlExecuteTaskResultsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getSqlExecuteTaskResults', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(GetSqlExecuteTaskResultsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getSqlExecuteTaskResults', 'mutation'); }, getSqlExecutionPlanResult(variables: GetSqlExecutionPlanResultMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetSqlExecutionPlanResultDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getSqlExecutionPlanResult', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(GetSqlExecutionPlanResultDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getSqlExecutionPlanResult', 'mutation'); }, updateResultsDataBatch(variables: UpdateResultsDataBatchMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(UpdateResultsDataBatchDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'updateResultsDataBatch', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(UpdateResultsDataBatchDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'updateResultsDataBatch', 'mutation'); }, updateResultsDataBatchScript(variables: UpdateResultsDataBatchScriptMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(UpdateResultsDataBatchScriptDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'updateResultsDataBatchScript', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(UpdateResultsDataBatchScriptDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'updateResultsDataBatchScript', 'mutation'); }, metadataGetNodeDDL(variables: MetadataGetNodeDdlQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(MetadataGetNodeDdlDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'metadataGetNodeDDL', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(MetadataGetNodeDdlDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'metadataGetNodeDDL', 'query'); + }, + metadataGetNodeExtendedDDL(variables: MetadataGetNodeExtendedDdlQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { + return withWrapper((wrappedRequestHeaders) => client.request(MetadataGetNodeExtendedDdlDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'metadataGetNodeExtendedDDL', 'query'); }, getChildrenDBObjectInfo(variables: GetChildrenDbObjectInfoQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetChildrenDbObjectInfoDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getChildrenDBObjectInfo', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetChildrenDbObjectInfoDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getChildrenDBObjectInfo', 'query'); }, getDBObjectInfo(variables: GetDbObjectInfoQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetDbObjectInfoDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getDBObjectInfo', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetDbObjectInfoDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getDBObjectInfo', 'query'); }, getNavNodeFullName(variables: GetNavNodeFullNameQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetNavNodeFullNameDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getNavNodeFullName', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetNavNodeFullNameDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getNavNodeFullName', 'query'); }, getNodeParents(variables: GetNodeParentsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetNodeParentsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getNodeParents', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetNodeParentsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getNodeParents', 'query'); }, navDeleteNodes(variables: NavDeleteNodesMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(NavDeleteNodesDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'navDeleteNodes', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(NavDeleteNodesDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'navDeleteNodes', 'mutation'); }, navMoveTo(variables: NavMoveToMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(NavMoveToDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'navMoveTo', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(NavMoveToDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'navMoveTo', 'mutation'); }, navNodeChildren(variables: NavNodeChildrenQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(NavNodeChildrenDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'navNodeChildren', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(NavNodeChildrenDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'navNodeChildren', 'query'); }, navNodeInfo(variables: NavNodeInfoQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(NavNodeInfoDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'navNodeInfo', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(NavNodeInfoDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'navNodeInfo', 'query'); }, navRefreshNode(variables: NavRefreshNodeQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(NavRefreshNodeDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'navRefreshNode', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(NavRefreshNodeDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'navRefreshNode', 'query'); }, navRenameNode(variables: NavRenameNodeMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(NavRenameNodeDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'navRenameNode', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(NavRenameNodeDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'navRenameNode', 'mutation'); }, getProjectList(variables?: GetProjectListQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetProjectListDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getProjectList', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetProjectListDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getProjectList', 'query'); }, createProject(variables: CreateProjectMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(CreateProjectDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'createProject', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(CreateProjectDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'createProject', 'mutation'); }, createResource(variables: CreateResourceMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(CreateResourceDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'createResource', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(CreateResourceDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'createResource', 'mutation'); }, deleteProject(variables: DeleteProjectMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(DeleteProjectDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'deleteProject', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(DeleteProjectDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'deleteProject', 'mutation'); }, deleteResource(variables: DeleteResourceMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(DeleteResourceDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'deleteResource', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(DeleteResourceDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'deleteResource', 'mutation'); }, getProject(variables: GetProjectQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetProjectDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getProject', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetProjectDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getProject', 'query'); }, getProjectGrantedPermissions(variables: GetProjectGrantedPermissionsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetProjectGrantedPermissionsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getProjectGrantedPermissions', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetProjectGrantedPermissionsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getProjectGrantedPermissions', 'query'); }, getProjectPermissionsList(variables?: GetProjectPermissionsListQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetProjectPermissionsListDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getProjectPermissionsList', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetProjectPermissionsListDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getProjectPermissionsList', 'query'); }, getResourceList(variables: GetResourceListQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetResourceListDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getResourceList', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetResourceListDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getResourceList', 'query'); }, getResourceProjectList(variables?: GetResourceProjectListQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetResourceProjectListDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getResourceProjectList', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetResourceProjectListDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getResourceProjectList', 'query'); }, getSharedProjects(variables?: GetSharedProjectsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetSharedProjectsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getSharedProjects', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetSharedProjectsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getSharedProjects', 'query'); }, getSubjectProjectsPermissions(variables: GetSubjectProjectsPermissionsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(GetSubjectProjectsPermissionsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'getSubjectProjectsPermissions', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(GetSubjectProjectsPermissionsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getSubjectProjectsPermissions', 'query'); }, moveResource(variables: MoveResourceMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(MoveResourceDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'moveResource', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(MoveResourceDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'moveResource', 'mutation'); }, readResource(variables: ReadResourceQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(ReadResourceDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'readResource', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(ReadResourceDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'readResource', 'query'); }, setProjectPermissions(variables: SetProjectPermissionsMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SetProjectPermissionsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'setProjectPermissions', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(SetProjectPermissionsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'setProjectPermissions', 'mutation'); }, setResourceProperty(variables: SetResourcePropertyMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SetResourcePropertyDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'setResourceProperty', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(SetResourcePropertyDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'setResourceProperty', 'mutation'); }, setSubjectProjectsPermissions(variables: SetSubjectProjectsPermissionsMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SetSubjectProjectsPermissionsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'setSubjectProjectsPermissions', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(SetSubjectProjectsPermissionsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'setSubjectProjectsPermissions', 'mutation'); }, writeResourceContent(variables: WriteResourceContentMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(WriteResourceContentDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'writeResourceContent', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(WriteResourceContentDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'writeResourceContent', 'mutation'); }, configureServer(variables: ConfigureServerQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(ConfigureServerDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'configureServer', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(ConfigureServerDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'configureServer', 'query'); }, listFeatureSets(variables?: ListFeatureSetsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(ListFeatureSetsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'listFeatureSets', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(ListFeatureSetsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'listFeatureSets', 'query'); }, setDefaultNavigatorSettings(variables: SetDefaultNavigatorSettingsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SetDefaultNavigatorSettingsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'setDefaultNavigatorSettings', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(SetDefaultNavigatorSettingsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'setDefaultNavigatorSettings', 'query'); }, changeSessionLanguage(variables: ChangeSessionLanguageMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(ChangeSessionLanguageDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'changeSessionLanguage', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(ChangeSessionLanguageDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'changeSessionLanguage', 'mutation'); }, openSession(variables?: OpenSessionMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(OpenSessionDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'openSession', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(OpenSessionDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'openSession', 'mutation'); }, readSessionLog(variables: ReadSessionLogQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(ReadSessionLogDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'readSessionLog', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(ReadSessionLogDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'readSessionLog', 'query'); }, serverConfig(variables?: ServerConfigQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(ServerConfigDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'serverConfig', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(ServerConfigDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'serverConfig', 'query'); }, sessionPermissions(variables?: SessionPermissionsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SessionPermissionsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'sessionPermissions', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(SessionPermissionsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'sessionPermissions', 'query'); }, sessionState(variables?: SessionStateQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SessionStateDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'sessionState', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(SessionStateDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'sessionState', 'query'); }, touchSession(variables?: TouchSessionMutationVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(TouchSessionDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'touchSession', 'mutation'); + return withWrapper((wrappedRequestHeaders) => client.request(TouchSessionDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'touchSession', 'mutation'); }, formatSqlQuery(variables: FormatSqlQueryQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(FormatSqlQueryDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'formatSqlQuery', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(FormatSqlQueryDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'formatSqlQuery', 'query'); }, parseSQLQuery(variables: ParseSqlQueryQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(ParseSqlQueryDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'parseSQLQuery', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(ParseSqlQueryDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'parseSQLQuery', 'query'); }, parseSQLScript(variables: ParseSqlScriptQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(ParseSqlScriptDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'parseSQLScript', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(ParseSqlScriptDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'parseSQLScript', 'query'); }, querySqlCompletionProposals(variables: QuerySqlCompletionProposalsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(QuerySqlCompletionProposalsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'querySqlCompletionProposals', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(QuerySqlCompletionProposalsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'querySqlCompletionProposals', 'query'); }, querySqlDialectInfo(variables: QuerySqlDialectInfoQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(QuerySqlDialectInfoDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'querySqlDialectInfo', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(QuerySqlDialectInfoDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'querySqlDialectInfo', 'query'); }, sqlEntityQueryGenerators(variables: SqlEntityQueryGeneratorsQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SqlEntityQueryGeneratorsDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'sqlEntityQueryGenerators', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(SqlEntityQueryGeneratorsDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'sqlEntityQueryGenerators', 'query'); }, sqlGenerateEntityQuery(variables: SqlGenerateEntityQueryQueryVariables, requestHeaders?: Dom.RequestInit["headers"]): Promise { - return withWrapper((wrappedRequestHeaders) => client.request(SqlGenerateEntityQueryDocument, variables, { ...requestHeaders, ...wrappedRequestHeaders }), 'sqlGenerateEntityQuery', 'query'); + return withWrapper((wrappedRequestHeaders) => client.request(SqlGenerateEntityQueryDocument, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'sqlGenerateEntityQuery', 'query'); } }; } diff --git a/webapp/packages/plugin-ddl-viewer/src/DdlViewer/DDLViewerTab.tsx b/webapp/packages/plugin-ddl-viewer/src/DdlViewer/DDLViewerTab.tsx index ad397e2d2a..d6bbf26940 100644 --- a/webapp/packages/plugin-ddl-viewer/src/DdlViewer/DDLViewerTab.tsx +++ b/webapp/packages/plugin-ddl-viewer/src/DdlViewer/DDLViewerTab.tsx @@ -13,14 +13,18 @@ import { useStyles } from '@cloudbeaver/core-blocks'; import { Tab, TabIcon, TabTitle } from '@cloudbeaver/core-ui'; import type { NavNodeTransformViewComponent } from '@cloudbeaver/plugin-navigation-tree'; +import { NAV_NODE_DDL_ID } from '../NAV_NODE_DDL_ID'; + export const DDLViewerTab: NavNodeTransformViewComponent = observer(function DDLViewerTab({ folderId, style, }) { + const title = folderId.startsWith(NAV_NODE_DDL_ID) ? 'DDL' : 'Body'; + return styled(useStyles(style))( - + - DDL + {title} ); }); diff --git a/webapp/packages/plugin-ddl-viewer/src/DdlViewer/DDLViewerTabPanel.tsx b/webapp/packages/plugin-ddl-viewer/src/DdlViewer/DDLViewerTabPanel.tsx index 6b1610229c..ce6eb9011d 100644 --- a/webapp/packages/plugin-ddl-viewer/src/DdlViewer/DDLViewerTabPanel.tsx +++ b/webapp/packages/plugin-ddl-viewer/src/DdlViewer/DDLViewerTabPanel.tsx @@ -8,7 +8,7 @@ import { observer } from 'mobx-react-lite'; import { useEffect } from 'react'; -import styled, { css } from 'reshadow'; +import styled from 'reshadow'; import { Loader, useStyles } from '@cloudbeaver/core-blocks'; import { useController } from '@cloudbeaver/core-di'; @@ -17,33 +17,14 @@ import { useMenu } from '@cloudbeaver/core-view'; import type { NavNodeTransformViewComponent } from '@cloudbeaver/plugin-navigation-tree'; import { SQLCodeEditorLoader } from '@cloudbeaver/plugin-sql-editor'; +import { TAB_PANEL_STYLES } from '../TAB_PANEL_STYLES'; import { DATA_CONTEXT_DDL_VIEWER_NODE } from './DATA_CONTEXT_DDL_VIEWER_NODE'; import { DATA_CONTEXT_DDL_VIEWER_VALUE } from './DATA_CONTEXT_DDL_VIEWER_VALUE'; import { DdlViewerController } from './DdlViewerController'; import { MENU_DDL_VIEWER_FOOTER } from './MENU_DDL_VIEWER_FOOTER'; -const styles = css` - wrapper { - flex: 1; - display: flex; - flex-direction: column; - overflow: auto; - composes: theme-typography--body1 from global; - } - - SQLCodeEditorLoader { - height: 100%; - flex: 1; - overflow: auto; - } - - MenuBar { - border-top: 1px solid; - } -`; - export const DDLViewerTabPanel: NavNodeTransformViewComponent = observer(function DDLViewerTabPanel({ nodeId, folderId }) { - const style = useStyles(styles); + const style = useStyles(TAB_PANEL_STYLES); const controller = useController(DdlViewerController, nodeId); const menu = useMenu({ menu: MENU_DDL_VIEWER_FOOTER }); diff --git a/webapp/packages/plugin-ddl-viewer/src/DdlViewer/DdlViewerController.ts b/webapp/packages/plugin-ddl-viewer/src/DdlViewer/DdlViewerController.ts index 0320c983e3..9b827fdfd4 100644 --- a/webapp/packages/plugin-ddl-viewer/src/DdlViewer/DdlViewerController.ts +++ b/webapp/packages/plugin-ddl-viewer/src/DdlViewer/DdlViewerController.ts @@ -14,7 +14,7 @@ import { NotificationService } from '@cloudbeaver/core-events'; import type { SqlDialectInfo } from '@cloudbeaver/core-sdk'; import { SqlDialectInfoService } from '@cloudbeaver/plugin-sql-editor'; -import { DdlViewerService } from '../DdlViewerService'; +import { DdlViewerService } from './DdlViewerService'; @injectable() export class DdlViewerController implements IInitializableController, IDestructibleController { diff --git a/webapp/packages/plugin-ddl-viewer/src/DdlViewerService.ts b/webapp/packages/plugin-ddl-viewer/src/DdlViewer/DdlViewerService.ts similarity index 100% rename from webapp/packages/plugin-ddl-viewer/src/DdlViewerService.ts rename to webapp/packages/plugin-ddl-viewer/src/DdlViewer/DdlViewerService.ts diff --git a/webapp/packages/plugin-ddl-viewer/src/DdlViewerBootstrap.ts b/webapp/packages/plugin-ddl-viewer/src/DdlViewerBootstrap.ts index 582f1e43b6..db4251c863 100644 --- a/webapp/packages/plugin-ddl-viewer/src/DdlViewerBootstrap.ts +++ b/webapp/packages/plugin-ddl-viewer/src/DdlViewerBootstrap.ts @@ -13,8 +13,9 @@ import { NavNodeViewService } from '@cloudbeaver/plugin-navigation-tree'; import { DDLViewerFooterService } from './DdlViewer/DDLViewerFooterService'; import { DDLViewerTab } from './DdlViewer/DDLViewerTab'; import { DDLViewerTabPanel } from './DdlViewer/DDLViewerTabPanel'; - -const navNodeDDLId = 'object-viewer://ddl'; +import { ExtendedDDLViewerTabPanel } from './ExtendedDDLViewer/ExtendedDDLViewerTabPanel'; +import { NAV_NODE_DDL_ID } from './NAV_NODE_DDL_ID'; +import { NAV_NODE_EXTENDED_DDL_ID } from './NAV_NODE_EXTENDED_DDL_ID'; @injectable() export class DdlViewerBootstrap extends Bootstrap { @@ -29,25 +30,36 @@ export class DdlViewerBootstrap extends Bootstrap { register(): void { this.navNodeViewService.addTransform({ tab: (nodeId, folderId) => { - if (folderId.startsWith(navNodeDDLId)) { + if (folderId.startsWith(NAV_NODE_DDL_ID) || folderId.startsWith(NAV_NODE_EXTENDED_DDL_ID)) { return DDLViewerTab; } + return undefined; }, panel: (nodeId, folderId) => { - if (folderId.startsWith(navNodeDDLId)) { + if (folderId.startsWith(NAV_NODE_DDL_ID)) { return DDLViewerTabPanel; } + + if (folderId.startsWith(NAV_NODE_EXTENDED_DDL_ID)) { + return ExtendedDDLViewerTabPanel; + } + return undefined; }, transformer: (nodeId, children) => { const node = this.navNodeInfoResource.get(nodeId); + const ids = []; - if (!node?.objectFeatures.includes(EObjectFeature.script)) { - return children; + if (node?.objectFeatures.includes(EObjectFeature.script)) { + ids.push(NAV_NODE_DDL_ID); } - return [...children || [], navNodeDDLId]; + if (node?.objectFeatures.includes(EObjectFeature.scriptExtended)) { + ids.push(NAV_NODE_EXTENDED_DDL_ID); + } + + return [...children || [], ...ids]; }, }); diff --git a/webapp/packages/plugin-ddl-viewer/src/ExtendedDDLViewer/ExtendedDDLResource.ts b/webapp/packages/plugin-ddl-viewer/src/ExtendedDDLViewer/ExtendedDDLResource.ts new file mode 100644 index 0000000000..bda04c9769 --- /dev/null +++ b/webapp/packages/plugin-ddl-viewer/src/ExtendedDDLViewer/ExtendedDDLResource.ts @@ -0,0 +1,39 @@ +/* + * CloudBeaver - Cloud Database Manager + * Copyright (C) 2020-2022 DBeaver Corp and others + * + * Licensed under the Apache License, Version 2.0. + * you may not use this file except in compliance with the License. + */ + +import { injectable } from '@cloudbeaver/core-di'; +import { NavNodeInfoResource } from '@cloudbeaver/core-navigation-tree'; +import { GraphQLService, CachedMapResource, ResourceKey, ResourceKeyUtils, isResourceKeyList } from '@cloudbeaver/core-sdk'; + +@injectable() +export class ExtendedDDLResource extends CachedMapResource { + constructor( + private readonly graphQLService: GraphQLService, + private readonly navNodeInfoResource: NavNodeInfoResource + ) { + super(); + + this.navNodeInfoResource.outdateResource(this); + this.navNodeInfoResource.deleteInResource(this); + } + + protected async loader(key: ResourceKey): Promise> { + const values: string[] = []; + + await ResourceKeyUtils.forEachAsync(key, async nodeId => { + const { metadataGetNodeExtendedDDL } = await this.graphQLService.sdk.metadataGetNodeExtendedDDL({ nodeId }); + if (metadataGetNodeExtendedDDL) { + values.push(metadataGetNodeExtendedDDL); + } + }); + + this.set(key, isResourceKeyList(key) ? values : values[0]); + + return this.data; + } +} diff --git a/webapp/packages/plugin-ddl-viewer/src/ExtendedDDLViewer/ExtendedDDLViewerTabPanel.tsx b/webapp/packages/plugin-ddl-viewer/src/ExtendedDDLViewer/ExtendedDDLViewerTabPanel.tsx new file mode 100644 index 0000000000..574bb9d116 --- /dev/null +++ b/webapp/packages/plugin-ddl-viewer/src/ExtendedDDLViewer/ExtendedDDLViewerTabPanel.tsx @@ -0,0 +1,59 @@ +/* + * CloudBeaver - Cloud Database Manager + * Copyright (C) 2020-2022 DBeaver Corp and others + * + * Licensed under the Apache License, Version 2.0. + * you may not use this file except in compliance with the License. + */ + +import { observer } from 'mobx-react-lite'; +import styled from 'reshadow'; + +import { Loader, useResource, useStyles } from '@cloudbeaver/core-blocks'; +import { ConnectionDialectResource, ConnectionInfoResource, createConnectionParam } from '@cloudbeaver/core-connections'; +import { useService } from '@cloudbeaver/core-di'; +import { MenuBar, MENU_BAR_DEFAULT_STYLES } from '@cloudbeaver/core-ui'; +import { useMenu } from '@cloudbeaver/core-view'; +import type { NavNodeTransformViewComponent } from '@cloudbeaver/plugin-navigation-tree'; +import { SQLCodeEditorLoader } from '@cloudbeaver/plugin-sql-editor'; + +import { DATA_CONTEXT_DDL_VIEWER_NODE } from '../DdlViewer/DATA_CONTEXT_DDL_VIEWER_NODE'; +import { DATA_CONTEXT_DDL_VIEWER_VALUE } from '../DdlViewer/DATA_CONTEXT_DDL_VIEWER_VALUE'; +import { MENU_DDL_VIEWER_FOOTER } from '../DdlViewer/MENU_DDL_VIEWER_FOOTER'; +import { TAB_PANEL_STYLES } from '../TAB_PANEL_STYLES'; +import { ExtendedDDLResource } from './ExtendedDDLResource'; + +export const ExtendedDDLViewerTabPanel: NavNodeTransformViewComponent = observer(function ExtendedDDLViewerTabPanel({ + nodeId, folderId +}) { + const style = useStyles(TAB_PANEL_STYLES); + const menu = useMenu({ menu: MENU_DDL_VIEWER_FOOTER }); + + const connectionInfoResource = useService(ConnectionInfoResource); + + const extendedDDLResource = useResource(ExtendedDDLViewerTabPanel, ExtendedDDLResource, nodeId); + + const connection = connectionInfoResource.getConnectionForNode(nodeId); + const connectionParam = connection ? createConnectionParam(connection) : null; + + const connectionDialectResource = useResource(ExtendedDDLViewerTabPanel, ConnectionDialectResource, connectionParam); + + menu.context.set(DATA_CONTEXT_DDL_VIEWER_NODE, nodeId); + menu.context.set(DATA_CONTEXT_DDL_VIEWER_VALUE, extendedDDLResource.data); + + return styled(style)( + + + + + + + ); +}); diff --git a/webapp/packages/plugin-ddl-viewer/src/NAV_NODE_DDL_ID.ts b/webapp/packages/plugin-ddl-viewer/src/NAV_NODE_DDL_ID.ts new file mode 100644 index 0000000000..86ab9e5d91 --- /dev/null +++ b/webapp/packages/plugin-ddl-viewer/src/NAV_NODE_DDL_ID.ts @@ -0,0 +1,9 @@ +/* + * CloudBeaver - Cloud Database Manager + * Copyright (C) 2020-2022 DBeaver Corp and others + * + * Licensed under the Apache License, Version 2.0. + * you may not use this file except in compliance with the License. + */ + +export const NAV_NODE_DDL_ID = 'object-viewer://ddl'; \ No newline at end of file diff --git a/webapp/packages/plugin-ddl-viewer/src/NAV_NODE_EXTENDED_DDL_ID.ts b/webapp/packages/plugin-ddl-viewer/src/NAV_NODE_EXTENDED_DDL_ID.ts new file mode 100644 index 0000000000..1cf5b5810d --- /dev/null +++ b/webapp/packages/plugin-ddl-viewer/src/NAV_NODE_EXTENDED_DDL_ID.ts @@ -0,0 +1,9 @@ +/* + * CloudBeaver - Cloud Database Manager + * Copyright (C) 2020-2022 DBeaver Corp and others + * + * Licensed under the Apache License, Version 2.0. + * you may not use this file except in compliance with the License. + */ + +export const NAV_NODE_EXTENDED_DDL_ID = 'object-viewer://extended-ddl'; \ No newline at end of file diff --git a/webapp/packages/plugin-ddl-viewer/src/TAB_PANEL_STYLES.ts b/webapp/packages/plugin-ddl-viewer/src/TAB_PANEL_STYLES.ts new file mode 100644 index 0000000000..03e8e10c15 --- /dev/null +++ b/webapp/packages/plugin-ddl-viewer/src/TAB_PANEL_STYLES.ts @@ -0,0 +1,29 @@ +/* + * CloudBeaver - Cloud Database Manager + * Copyright (C) 2020-2022 DBeaver Corp and others + * + * Licensed under the Apache License, Version 2.0. + * you may not use this file except in compliance with the License. + */ + +import { css } from 'reshadow'; + +export const TAB_PANEL_STYLES = css` + wrapper { + flex: 1; + display: flex; + flex-direction: column; + overflow: auto; + composes: theme-typography--body1 from global; + } + + SQLCodeEditorLoader { + height: 100%; + flex: 1; + overflow: auto; + } + + MenuBar { + border-top: 1px solid; + } +`; diff --git a/webapp/packages/plugin-ddl-viewer/src/manifest.ts b/webapp/packages/plugin-ddl-viewer/src/manifest.ts index e3ca646a9c..c365a42356 100644 --- a/webapp/packages/plugin-ddl-viewer/src/manifest.ts +++ b/webapp/packages/plugin-ddl-viewer/src/manifest.ts @@ -9,8 +9,9 @@ import type { PluginManifest } from '@cloudbeaver/core-di'; import { DDLViewerFooterService } from './DdlViewer/DDLViewerFooterService'; +import { DdlViewerService } from './DdlViewer/DdlViewerService'; import { DdlViewerBootstrap } from './DdlViewerBootstrap'; -import { DdlViewerService } from './DdlViewerService'; +import { ExtendedDDLResource } from './ExtendedDDLViewer/ExtendedDDLResource'; export const manifest: PluginManifest = { info: { @@ -21,5 +22,6 @@ export const manifest: PluginManifest = { DdlViewerBootstrap, DdlViewerService, DDLViewerFooterService, + ExtendedDDLResource, ], };