mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
Merge pull request #61 from dbeaver/feat-routing
feat(administration): users list implementation
This commit is contained in:
@@ -24,6 +24,13 @@
|
||||
"@babel/runtime": "7.8.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@graphql-codegen/add": "^1.8.1",
|
||||
"@graphql-codegen/cli": "^1.8.1",
|
||||
"@graphql-codegen/near-operation-file-preset": "^1.8.0",
|
||||
"@graphql-codegen/typescript": "^1.8.1",
|
||||
"@graphql-codegen/typescript-graphql-files-modules": "^1.8.0",
|
||||
"@graphql-codegen/typescript-graphql-request": "^1.8.1",
|
||||
"@graphql-codegen/typescript-operations": "^1.8.1",
|
||||
"@typescript-eslint/eslint-plugin": "^2.5.0",
|
||||
"@typescript-eslint/parser": "^2.8.0",
|
||||
"eslint": "^6.6.0",
|
||||
|
||||
@@ -47,6 +47,7 @@ const administrationStyles = composes(
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
}
|
||||
drawer {
|
||||
width: 250px;
|
||||
@@ -68,11 +69,10 @@ type Props = {
|
||||
|
||||
export const Administration = observer(function Administration({ activeItem, onItemSelect }: Props) {
|
||||
const controller = useController(AdministrationController);
|
||||
const activeItemName = activeItem || controller.defaultItem;
|
||||
|
||||
return styled(useStyles(verticalTabStyles, administrationStyles, tabsStyles))(
|
||||
<container as='div'>
|
||||
<TabsState currentTabId={activeItemName} orientation='vertical'>
|
||||
<TabsState currentTabId={activeItem} orientation='vertical'>
|
||||
<drawer as='div'>
|
||||
<TabList aria-label="Administration items">
|
||||
{controller.items.map(item => (
|
||||
@@ -81,7 +81,7 @@ export const Administration = observer(function Administration({ activeItem, onI
|
||||
</TabList>
|
||||
</drawer>
|
||||
<content as='div'>
|
||||
<ItemContent activeItemName={activeItemName}/>
|
||||
<ItemContent activeItemName={activeItem}/>
|
||||
</content>
|
||||
</TabsState>
|
||||
</container>
|
||||
|
||||
@@ -21,10 +21,6 @@ export class AdministrationController {
|
||||
.sort((a, b) => a.order - b.order);
|
||||
}
|
||||
|
||||
@computed get defaultItem() {
|
||||
return this.administrationItemService.getDefaultItem();
|
||||
}
|
||||
|
||||
constructor(
|
||||
private administrationItemService: AdministrationItemService
|
||||
) {}
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ export class AdministrationScreenService extends Bootstrap {
|
||||
if (!this.screenService.isActive(AdministrationScreenService.screenName)) {
|
||||
return null;
|
||||
}
|
||||
return this.routerService.params.item || null;
|
||||
return this.routerService.params.item || this.administrationItemService.getDefaultItem();
|
||||
}
|
||||
|
||||
constructor(
|
||||
|
||||
@@ -10,11 +10,13 @@ import { observer } from 'mobx-react';
|
||||
import styled, { css } from 'reshadow';
|
||||
|
||||
import { AdministrationTools } from '@dbeaver/administration';
|
||||
import {
|
||||
Table, TableHeader, TableColumnHeader, TableBody, TableItem, TableColumnValue
|
||||
} from '@dbeaver/core/blocks';
|
||||
import { Loader, IconButton } from '@dbeaver/core/blocks';
|
||||
import { useService } from '@dbeaver/core/di';
|
||||
import { useStyles, composes } from '@dbeaver/core/theming';
|
||||
|
||||
import { UsersManagerService } from '../UsersManagerService';
|
||||
import { UsersTable } from './UsersTable/UsersTable';
|
||||
|
||||
const styles = composes(
|
||||
css`
|
||||
AdministrationTools {
|
||||
@@ -23,58 +25,39 @@ const styles = composes(
|
||||
`,
|
||||
css`
|
||||
content {
|
||||
position: relative;
|
||||
padding-top: 16px;
|
||||
flex: 1;
|
||||
overflow: auto;
|
||||
}
|
||||
TableColumnHeader {
|
||||
border-top: solid 1px;
|
||||
}
|
||||
AdministrationTools {
|
||||
display: flex;
|
||||
padding: 0 16px;
|
||||
align-items: center;
|
||||
}
|
||||
IconButton {
|
||||
height: 32px;
|
||||
width: 32px;
|
||||
margin-right: 16px;
|
||||
}
|
||||
`
|
||||
);
|
||||
|
||||
export const UsersAdministration = observer(function UsersAdministration() {
|
||||
const usersManagerService = useService(UsersManagerService);
|
||||
|
||||
return styled(useStyles(styles))(
|
||||
<>
|
||||
<AdministrationTools></AdministrationTools>
|
||||
<AdministrationTools>
|
||||
<IconButton name="add" viewBox="0 0 28 28" />
|
||||
<IconButton name="trash" viewBox="0 0 28 28" />
|
||||
</AdministrationTools>
|
||||
<content as='div'>
|
||||
<Table>
|
||||
<TableHeader>
|
||||
<TableColumnHeader>User login</TableColumnHeader>
|
||||
<TableColumnHeader>User first name</TableColumnHeader>
|
||||
<TableColumnHeader>User last name</TableColumnHeader>
|
||||
<TableColumnHeader>User last name</TableColumnHeader>
|
||||
<TableColumnHeader></TableColumnHeader>
|
||||
</TableHeader>
|
||||
<TableBody>
|
||||
<TableItem item={0}>
|
||||
<TableColumnValue>a</TableColumnValue>
|
||||
<TableColumnValue>b</TableColumnValue>
|
||||
<TableColumnValue>c</TableColumnValue>
|
||||
<TableColumnValue>d</TableColumnValue>
|
||||
<TableColumnValue></TableColumnValue>
|
||||
</TableItem>
|
||||
<TableItem item={1}>
|
||||
<TableColumnValue>a</TableColumnValue>
|
||||
<TableColumnValue>b</TableColumnValue>
|
||||
<TableColumnValue>c</TableColumnValue>
|
||||
<TableColumnValue>d</TableColumnValue>
|
||||
<TableColumnValue></TableColumnValue>
|
||||
</TableItem>
|
||||
<TableItem item={2}>
|
||||
<TableColumnValue>a</TableColumnValue>
|
||||
<TableColumnValue>b</TableColumnValue>
|
||||
<TableColumnValue>c</TableColumnValue>
|
||||
<TableColumnValue>d</TableColumnValue>
|
||||
<TableColumnValue></TableColumnValue>
|
||||
</TableItem>
|
||||
<TableItem item={3}>
|
||||
<TableColumnValue>a</TableColumnValue>
|
||||
<TableColumnValue>b</TableColumnValue>
|
||||
<TableColumnValue>c</TableColumnValue>
|
||||
<TableColumnValue>d</TableColumnValue>
|
||||
<TableColumnValue></TableColumnValue>
|
||||
</TableItem>
|
||||
</TableBody>
|
||||
</Table>
|
||||
<UsersTable users={usersManagerService.users.data}/>
|
||||
{usersManagerService.users.isLoading() && <Loader overlay/>}
|
||||
</content>
|
||||
</>
|
||||
);
|
||||
|
||||
+9
-2
@@ -9,13 +9,15 @@
|
||||
import { AdministrationItemService } from '@dbeaver/administration';
|
||||
import { injectable, Bootstrap } from '@dbeaver/core/di';
|
||||
|
||||
import { UsersManagerService } from '../UsersManagerService';
|
||||
import { UsersAdministration } from './UsersAdministration';
|
||||
import { UsersDrawerItem } from './UsersDrawerItem';
|
||||
|
||||
@injectable()
|
||||
export class AuthUsersAdministrationService extends Bootstrap {
|
||||
export class UsersAdministrationService extends Bootstrap {
|
||||
constructor(
|
||||
private administrationItemService: AdministrationItemService
|
||||
private administrationItemService: AdministrationItemService,
|
||||
private usersManagerService: UsersManagerService,
|
||||
) {
|
||||
super();
|
||||
}
|
||||
@@ -25,6 +27,11 @@ export class AuthUsersAdministrationService extends Bootstrap {
|
||||
name: 'users',
|
||||
getContentComponent: () => UsersAdministration,
|
||||
getDrawerComponent: () => UsersDrawerItem,
|
||||
onActivate: this.loadUsers.bind(this),
|
||||
});
|
||||
}
|
||||
|
||||
private async loadUsers() {
|
||||
await this.usersManagerService.users.load();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* cloudbeaver - Cloud Database Manager
|
||||
* Copyright (C) 2020 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';
|
||||
import styled from 'reshadow';
|
||||
|
||||
import {
|
||||
TableItem, TableColumnValue
|
||||
} from '@dbeaver/core/blocks';
|
||||
import { AdminUserInfo } from '@dbeaver/core/sdk';
|
||||
import { useStyles } from '@dbeaver/core/theming';
|
||||
|
||||
type Props = {
|
||||
user: AdminUserInfo;
|
||||
}
|
||||
|
||||
export const User = observer(function User({ user }: Props) {
|
||||
return styled(useStyles())(
|
||||
<TableItem item={user.userId}>
|
||||
<TableColumnValue>{user.userId}</TableColumnValue>
|
||||
<TableColumnValue></TableColumnValue>
|
||||
</TableItem>
|
||||
);
|
||||
});
|
||||
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* cloudbeaver - Cloud Database Manager
|
||||
* Copyright (C) 2020 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';
|
||||
import styled, { css } from 'reshadow';
|
||||
|
||||
import {
|
||||
Table, TableHeader, TableColumnHeader, TableBody
|
||||
} from '@dbeaver/core/blocks';
|
||||
import { AdminUserInfo } from '@dbeaver/core/sdk';
|
||||
import { useStyles, composes } from '@dbeaver/core/theming';
|
||||
|
||||
import { User } from './User';
|
||||
|
||||
const styles = composes(
|
||||
css``,
|
||||
css`
|
||||
TableColumnHeader {
|
||||
border-top: solid 1px;
|
||||
}
|
||||
`
|
||||
);
|
||||
|
||||
type Props = {
|
||||
users: AdminUserInfo[];
|
||||
}
|
||||
|
||||
export const UsersTable = observer(function UsersTable({ users }: Props) {
|
||||
return styled(useStyles(styles))(
|
||||
<Table>
|
||||
<TableHeader>
|
||||
<TableColumnHeader>User login</TableColumnHeader>
|
||||
<TableColumnHeader></TableColumnHeader>
|
||||
</TableHeader>
|
||||
<TableBody>
|
||||
{users.map(user => <User key={user.userId} user={user}/>)}
|
||||
</TableBody>
|
||||
</Table>
|
||||
);
|
||||
});
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* cloudbeaver - Cloud Database Manager
|
||||
* Copyright (C) 2020 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 '@dbeaver/core/di';
|
||||
import { CachedResource, GraphQLService, AdminUserInfo } from '@dbeaver/core/sdk';
|
||||
|
||||
@injectable()
|
||||
export class UsersManagerService {
|
||||
readonly users = new CachedResource([], this.refreshAsync.bind(this), data => !!data.length)
|
||||
constructor(
|
||||
private graphQLService: GraphQLService
|
||||
) {
|
||||
}
|
||||
|
||||
private async refreshAsync(data: AdminUserInfo[]): Promise<AdminUserInfo[]> {
|
||||
const { users } = await this.graphQLService.gql.getUsersList();
|
||||
|
||||
// TODO: temporary before full implementation was provided
|
||||
return users as AdminUserInfo[];
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,8 @@
|
||||
|
||||
import { IServiceInjector, PluginManifest } from '@dbeaver/core/di';
|
||||
|
||||
import { AuthUsersAdministrationService } from './Administration/Users/AuthUsersAdministrationService';
|
||||
import { UsersAdministrationService } from './Administration/Users/UsersAdministrationService';
|
||||
import { UsersManagerService } from './Administration/UsersManagerService';
|
||||
import { AuthenticationService } from './AuthenticationService';
|
||||
import { AuthInfoService } from './AuthInfoService';
|
||||
import { AuthMenuService } from './AuthMenuService';
|
||||
@@ -27,7 +28,8 @@ export const manifest: PluginManifest = {
|
||||
AuthProviderService,
|
||||
AuthDialogService,
|
||||
AuthMenuService,
|
||||
AuthUsersAdministrationService,
|
||||
UsersAdministrationService,
|
||||
UsersManagerService,
|
||||
],
|
||||
|
||||
async initialize(services: IServiceInjector) {
|
||||
|
||||
@@ -5,6 +5,7 @@ schema:
|
||||
- ../../../server/bundles/io.cloudbeaver.server/schema/service.sql.graphqls
|
||||
- ../../../server/bundles/io.cloudbeaver.service.metadata/schema/service.metadata.graphqls
|
||||
- ../../../server/bundles/io.cloudbeaver.service.data.transfer/schema/service.data.transfer.graphqls
|
||||
- ../../../server/bundles/io.cloudbeaver.service.admin/schema/service.admin.graphqls
|
||||
- ../../../server/bundles/io.cloudbeaver.service.auth/schema/service.auth.graphqls
|
||||
documents:
|
||||
- ./src/**/*.gql
|
||||
|
||||
@@ -57,6 +57,22 @@
|
||||
</g>
|
||||
</symbol>
|
||||
|
||||
<symbol id="add" width="28" height="28" viewBox="0 0 28 28">
|
||||
<g fill="none" fill-rule="evenodd">
|
||||
<path d="M0 0L36 0 36 36 0 36z" transform="translate(-4 -4)"/>
|
||||
<path fill-rule="nonzero" stroke="currentColor" stroke-width="2" d="M28.5 5.5h-21c-1.107 0-2 .896-2 2v21c0 1.104.893 2 2 2h21c1.107 0 2-.896 2-2v-21c0-1.104-.893-2-2-2z" transform="translate(-4 -4)"/>
|
||||
<path fill="currentColor" fill-rule="nonzero" d="M22.297 12.293L18 16.59 13.703 12.293 12.293 13.703 16.59 18 12.293 22.297 13.703 23.707 18 19.41 22.297 23.707 23.707 22.297 19.41 18 23.707 13.703z" transform="translate(-4 -4) rotate(-45 18 18)"/>
|
||||
</g>
|
||||
</symbol>
|
||||
|
||||
<symbol id="trash" width="28" height="28" viewBox="0 0 28 28">
|
||||
<g fill="none" fill-rule="evenodd">
|
||||
<path d="M0 0L36 0 36 36 0 36z" transform="translate(-4 -4)"/>
|
||||
<path fill-rule="nonzero" stroke="currentColor" stroke-width="2" d="M28.5 5.5h-21c-1.107 0-2 .896-2 2v21c0 1.104.893 2 2 2h21c1.107 0 2-.896 2-2v-21c0-1.104-.893-2-2-2z" transform="translate(-4 -4)"/>
|
||||
<path fill="currentColor" fill-rule="nonzero" d="M12 25.071v-12h12v12c0 1.1-.9 2-2 2h-8c-1.1 0-2-.9-2-2zm2-10v10h8v-10h-8zm7.5-5H25v2H11v-2h3.5l1-1h5l1 1z" transform="translate(-4 -4)"/>
|
||||
</g>
|
||||
</symbol>
|
||||
|
||||
<symbol id="angle" viewBox="0 0 15 8">
|
||||
<path class="icon-fill" fill-rule="evenodd" d="M14.5.954l-.875-.88L7.5 6.238 1.375 0 .5.88 7.5 8z"/>
|
||||
</symbol>
|
||||
|
||||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 17 KiB |
@@ -96,5 +96,8 @@ export const SNACKBAR_STYLES = composes(
|
||||
}
|
||||
}
|
||||
}
|
||||
IconButton {
|
||||
color: rgba(0, 0, 0, 0.45);
|
||||
}
|
||||
`
|
||||
);
|
||||
|
||||
@@ -5,7 +5,7 @@ import { Icon } from './Icons/Icon';
|
||||
|
||||
const styles = css`
|
||||
Button {
|
||||
color: rgba(0, 0, 0, 0.45);
|
||||
color: inherit;
|
||||
outline: none;
|
||||
border: none;
|
||||
background: none;
|
||||
@@ -13,10 +13,11 @@ const styles = css`
|
||||
padding: 0;
|
||||
margin: 4px;
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
|
||||
& Icon {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
query deleteUser($userId: ID!) {
|
||||
deleteUser(userId: $userId)
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
query getPermissionsList($roleId: ID) {
|
||||
permissions: listPermissions {
|
||||
id
|
||||
label
|
||||
description
|
||||
|
||||
provider
|
||||
category
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
query getRolesList($roleId: ID) {
|
||||
roles: listRoles(roleId: $roleId) {
|
||||
roleId
|
||||
roleName
|
||||
|
||||
rolePermissions
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
query getUsersList($userId: ID) {
|
||||
users: listUsers(userId: $userId) {
|
||||
userId
|
||||
|
||||
#metaParameters
|
||||
#configurationParameters
|
||||
#grantedRoles
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
query setUserCredentials($userId: ID!, $providerId: ID!, $credentials: Object!) {
|
||||
setUserCredentials(userId: $userId, providerId: $providerId, credentials: $credentials)
|
||||
}
|
||||
+533
-355
@@ -14,122 +14,189 @@ export type Scalars = {
|
||||
DateTime: any;
|
||||
};
|
||||
|
||||
|
||||
export type Query = {
|
||||
authLogin: UserAuthInfo;
|
||||
authLogout?: Maybe<Scalars['Boolean']>;
|
||||
authProviders: Array<AuthProviderInfo>;
|
||||
connectionState: ConnectionInfo;
|
||||
dataSourceList: Array<DataSourceInfo>;
|
||||
dataTransferAvailableStreamProcessors: Array<DataTransferProcessorInfo>;
|
||||
dataTransferExportDataFromContainer: AsyncTaskInfo;
|
||||
dataTransferExportDataFromResults: AsyncTaskInfo;
|
||||
dataTransferRemoveDataFile?: Maybe<Scalars['Boolean']>;
|
||||
driverList: Array<DriverInfo>;
|
||||
metadataGetNodeDDL?: Maybe<Scalars['String']>;
|
||||
navGetStructContainers: DatabaseStructContainers;
|
||||
navNodeChildren: Array<NavigatorNodeInfo>;
|
||||
navNodeInfo: NavigatorNodeInfo;
|
||||
navRefreshNode?: Maybe<Scalars['Boolean']>;
|
||||
readSessionLog: Array<LogEntry>;
|
||||
serverConfig: ServerConfig;
|
||||
sessionPermissions: Array<Maybe<Scalars['ID']>>;
|
||||
sessionState: SessionInfo;
|
||||
sessionUser?: Maybe<UserAuthInfo>;
|
||||
sqlCompletionProposals?: Maybe<Array<Maybe<SqlCompletionProposal>>>;
|
||||
sqlDialectInfo?: Maybe<SqlDialectInfo>;
|
||||
sqlListContexts?: Maybe<Array<Maybe<SqlContextInfo>>>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryAuthLoginArgs = {
|
||||
provider: Scalars['ID'];
|
||||
credentials: Scalars['Object'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryConnectionStateArgs = {
|
||||
export type AdminPermissionInfo = {
|
||||
id: Scalars['ID'];
|
||||
label?: Maybe<Scalars['String']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
provider: Scalars['String'];
|
||||
category?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type AdminRoleInfo = {
|
||||
roleId: Scalars['ID'];
|
||||
roleName?: Maybe<Scalars['String']>;
|
||||
rolePermissions: Array<Maybe<Scalars['ID']>>;
|
||||
};
|
||||
|
||||
export type AdminUserInfo = {
|
||||
userId: Scalars['ID'];
|
||||
metaParameters: Scalars['Object'];
|
||||
configurationParameters: Scalars['Object'];
|
||||
grantedRoles: Array<Maybe<Scalars['ID']>>;
|
||||
};
|
||||
|
||||
export type AsyncTaskInfo = {
|
||||
id: Scalars['String'];
|
||||
name?: Maybe<Scalars['String']>;
|
||||
running: Scalars['Boolean'];
|
||||
status?: Maybe<Scalars['String']>;
|
||||
error?: Maybe<ServerError>;
|
||||
result?: Maybe<SqlExecuteInfo>;
|
||||
taskResult?: Maybe<Scalars['Object']>;
|
||||
};
|
||||
|
||||
export enum AuthCredentialEncryption {
|
||||
None = 'none',
|
||||
Plain = 'plain',
|
||||
Hash = 'hash'
|
||||
}
|
||||
|
||||
export type AuthCredentialInfo = {
|
||||
id: Scalars['ID'];
|
||||
displayName: Scalars['String'];
|
||||
description?: Maybe<Scalars['String']>;
|
||||
admin?: Maybe<Scalars['Boolean']>;
|
||||
user?: Maybe<Scalars['Boolean']>;
|
||||
possibleValues?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
encryption?: Maybe<AuthCredentialEncryption>;
|
||||
};
|
||||
|
||||
export type AuthProviderInfo = {
|
||||
id: Scalars['ID'];
|
||||
label: Scalars['String'];
|
||||
icon?: Maybe<Scalars['ID']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
defaultProvider?: Maybe<Scalars['Boolean']>;
|
||||
credentialParameters: Array<AuthCredentialInfo>;
|
||||
};
|
||||
|
||||
export type ConnectionConfig = {
|
||||
name?: Maybe<Scalars['String']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
dataSourceId?: Maybe<Scalars['ID']>;
|
||||
driverId?: Maybe<Scalars['ID']>;
|
||||
host?: Maybe<Scalars['String']>;
|
||||
port?: Maybe<Scalars['String']>;
|
||||
databaseName?: Maybe<Scalars['String']>;
|
||||
url?: Maybe<Scalars['String']>;
|
||||
properties?: Maybe<Scalars['Object']>;
|
||||
userName?: Maybe<Scalars['String']>;
|
||||
userPassword?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type ConnectionInfo = {
|
||||
id: Scalars['ID'];
|
||||
driverId: Scalars['ID'];
|
||||
name: Scalars['String'];
|
||||
description?: Maybe<Scalars['String']>;
|
||||
properties?: Maybe<Scalars['String']>;
|
||||
connected: Scalars['Boolean'];
|
||||
provided: Scalars['Boolean'];
|
||||
connectTime?: Maybe<Scalars['String']>;
|
||||
connectionError?: Maybe<ServerError>;
|
||||
serverVersion?: Maybe<Scalars['String']>;
|
||||
clientVersion?: Maybe<Scalars['String']>;
|
||||
features: Array<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type DatabaseObjectInfo = {
|
||||
name?: Maybe<Scalars['String']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
type?: Maybe<Scalars['String']>;
|
||||
properties?: Maybe<Array<Maybe<ObjectPropertyInfo>>>;
|
||||
ordinalPosition?: Maybe<Scalars['Int']>;
|
||||
fullyQualifiedName?: Maybe<Scalars['String']>;
|
||||
overloadedName?: Maybe<Scalars['String']>;
|
||||
uniqueName?: Maybe<Scalars['String']>;
|
||||
state?: Maybe<Scalars['String']>;
|
||||
features?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
editors?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryDataTransferExportDataFromContainerArgs = {
|
||||
connectionId: Scalars['ID'];
|
||||
containerNodePath: Scalars['ID'];
|
||||
parameters: DataTransferParameters;
|
||||
export type DatabaseObjectInfoPropertiesArgs = {
|
||||
filter?: Maybe<ObjectPropertyFilter>;
|
||||
};
|
||||
|
||||
export type DatabaseStructContainers = {
|
||||
catalogList: Array<DatabaseObjectInfo>;
|
||||
schemaList: Array<DatabaseObjectInfo>;
|
||||
};
|
||||
|
||||
export type DataSourceInfo = {
|
||||
id: Scalars['ID'];
|
||||
driverId: Scalars['ID'];
|
||||
name: Scalars['String'];
|
||||
description?: Maybe<Scalars['String']>;
|
||||
host?: Maybe<Scalars['String']>;
|
||||
server?: Maybe<Scalars['String']>;
|
||||
port?: Maybe<Scalars['String']>;
|
||||
url?: Maybe<Scalars['String']>;
|
||||
properties?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type DataTransferParameters = {
|
||||
processorId: Scalars['ID'];
|
||||
settings?: Maybe<Scalars['Object']>;
|
||||
processorProperties: Scalars['Object'];
|
||||
filter?: Maybe<SqlDataFilter>;
|
||||
};
|
||||
|
||||
export type DataTransferProcessorInfo = {
|
||||
id: Scalars['ID'];
|
||||
name?: Maybe<Scalars['String']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
fileExtension?: Maybe<Scalars['String']>;
|
||||
appFileExtension?: Maybe<Scalars['String']>;
|
||||
appName?: Maybe<Scalars['String']>;
|
||||
order: Scalars['Int'];
|
||||
icon?: Maybe<Scalars['String']>;
|
||||
properties?: Maybe<Array<Maybe<ObjectPropertyInfo>>>;
|
||||
isBinary?: Maybe<Scalars['Boolean']>;
|
||||
isHTML?: Maybe<Scalars['Boolean']>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryDataTransferExportDataFromResultsArgs = {
|
||||
connectionId: Scalars['ID'];
|
||||
contextId: Scalars['ID'];
|
||||
resultsId: Scalars['ID'];
|
||||
parameters: DataTransferParameters;
|
||||
export type DriverInfo = {
|
||||
id: Scalars['ID'];
|
||||
name?: Maybe<Scalars['String']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
icon?: Maybe<Scalars['String']>;
|
||||
iconBig?: Maybe<Scalars['String']>;
|
||||
providerId?: Maybe<Scalars['ID']>;
|
||||
driverClassName?: Maybe<Scalars['String']>;
|
||||
defaultPort?: Maybe<Scalars['String']>;
|
||||
sampleURL?: Maybe<Scalars['String']>;
|
||||
driverInfoURL?: Maybe<Scalars['String']>;
|
||||
driverPropertiesURL?: Maybe<Scalars['String']>;
|
||||
embedded?: Maybe<Scalars['Boolean']>;
|
||||
anonymousAccess?: Maybe<Scalars['Boolean']>;
|
||||
allowsEmptyPassword?: Maybe<Scalars['Boolean']>;
|
||||
licenseRequired?: Maybe<Scalars['Boolean']>;
|
||||
license?: Maybe<Scalars['String']>;
|
||||
custom?: Maybe<Scalars['Boolean']>;
|
||||
promotedScore?: Maybe<Scalars['Int']>;
|
||||
connectionProperties?: Maybe<Scalars['Object']>;
|
||||
defaultConnectionProperties?: Maybe<Scalars['Object']>;
|
||||
driverProperties?: Maybe<Array<Maybe<DriverPropertyInfo>>>;
|
||||
driverParameters?: Maybe<Scalars['Object']>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryDataTransferRemoveDataFileArgs = {
|
||||
dataFileId: Scalars['String'];
|
||||
export type DriverPropertyInfo = {
|
||||
id: Scalars['ID'];
|
||||
displayName?: Maybe<Scalars['String']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
category?: Maybe<Scalars['String']>;
|
||||
dataType?: Maybe<Scalars['String']>;
|
||||
defaultValue?: Maybe<Scalars['Object']>;
|
||||
validValues?: Maybe<Array<Maybe<Scalars['Object']>>>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryDriverListArgs = {
|
||||
id?: Maybe<Scalars['ID']>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryMetadataGetNodeDdlArgs = {
|
||||
nodeId: Scalars['ID'];
|
||||
options?: Maybe<Scalars['Object']>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryNavGetStructContainersArgs = {
|
||||
connectionId: Scalars['ID'];
|
||||
catalog?: Maybe<Scalars['ID']>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryNavNodeChildrenArgs = {
|
||||
parentPath: Scalars['ID'];
|
||||
offset?: Maybe<Scalars['Int']>;
|
||||
limit?: Maybe<Scalars['Int']>;
|
||||
onlyFolders?: Maybe<Scalars['Boolean']>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryNavNodeInfoArgs = {
|
||||
nodePath: Scalars['ID'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryNavRefreshNodeArgs = {
|
||||
nodePath: Scalars['ID'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryReadSessionLogArgs = {
|
||||
maxEntries?: Maybe<Scalars['Int']>;
|
||||
clearEntries?: Maybe<Scalars['Boolean']>;
|
||||
};
|
||||
|
||||
|
||||
export type QuerySqlCompletionProposalsArgs = {
|
||||
connectionId: Scalars['ID'];
|
||||
contextId: Scalars['ID'];
|
||||
query: Scalars['String'];
|
||||
position: Scalars['Int'];
|
||||
maxResults?: Maybe<Scalars['Int']>;
|
||||
};
|
||||
|
||||
|
||||
export type QuerySqlDialectInfoArgs = {
|
||||
connectionId: Scalars['ID'];
|
||||
};
|
||||
|
||||
|
||||
export type QuerySqlListContextsArgs = {
|
||||
connectionId: Scalars['ID'];
|
||||
export type LogEntry = {
|
||||
time?: Maybe<Scalars['DateTime']>;
|
||||
type: Scalars['String'];
|
||||
message?: Maybe<Scalars['String']>;
|
||||
stackTrace?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type Mutation = {
|
||||
@@ -249,39 +316,230 @@ export type MutationUpdateResultsDataArgs = {
|
||||
updateValues?: Maybe<Scalars['Object']>;
|
||||
};
|
||||
|
||||
export type AsyncTaskInfo = {
|
||||
id: Scalars['String'];
|
||||
export type NavigatorNodeInfo = {
|
||||
id: Scalars['ID'];
|
||||
name?: Maybe<Scalars['String']>;
|
||||
running: Scalars['Boolean'];
|
||||
status?: Maybe<Scalars['String']>;
|
||||
error?: Maybe<ServerError>;
|
||||
result?: Maybe<SqlExecuteInfo>;
|
||||
taskResult?: Maybe<Scalars['Object']>;
|
||||
icon?: Maybe<Scalars['String']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
nodeType?: Maybe<Scalars['String']>;
|
||||
hasChildren?: Maybe<Scalars['Boolean']>;
|
||||
object?: Maybe<DatabaseObjectInfo>;
|
||||
features?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
folder?: Maybe<Scalars['Boolean']>;
|
||||
inline?: Maybe<Scalars['Boolean']>;
|
||||
navigable?: Maybe<Scalars['Boolean']>;
|
||||
};
|
||||
|
||||
export type ServerError = {
|
||||
message?: Maybe<Scalars['String']>;
|
||||
errorCode?: Maybe<Scalars['String']>;
|
||||
stackTrace?: Maybe<Scalars['String']>;
|
||||
causedBy?: Maybe<ServerError>;
|
||||
};
|
||||
|
||||
export type ServerMessage = {
|
||||
time?: Maybe<Scalars['String']>;
|
||||
message?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type ServerLanguage = {
|
||||
isoCode: Scalars['String'];
|
||||
export type ObjectDescriptor = {
|
||||
id?: Maybe<Scalars['Int']>;
|
||||
displayName?: Maybe<Scalars['String']>;
|
||||
nativeName?: Maybe<Scalars['String']>;
|
||||
fullName?: Maybe<Scalars['String']>;
|
||||
uniqueName?: Maybe<Scalars['String']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
value?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type WebServiceConfig = {
|
||||
id: Scalars['String'];
|
||||
name: Scalars['String'];
|
||||
description: Scalars['String'];
|
||||
bundleVersion: Scalars['String'];
|
||||
export type ObjectPropertyFilter = {
|
||||
ids?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
features?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
categories?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
dataTypes?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
};
|
||||
|
||||
export type ObjectPropertyInfo = {
|
||||
id?: Maybe<Scalars['String']>;
|
||||
displayName?: Maybe<Scalars['String']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
category?: Maybe<Scalars['String']>;
|
||||
dataType?: Maybe<Scalars['String']>;
|
||||
value?: Maybe<Scalars['Object']>;
|
||||
validValues?: Maybe<Array<Maybe<Scalars['Object']>>>;
|
||||
defaultValue?: Maybe<Scalars['Object']>;
|
||||
features: Array<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type Query = {
|
||||
authLogin: UserAuthInfo;
|
||||
authLogout?: Maybe<Scalars['Boolean']>;
|
||||
authProviders: Array<AuthProviderInfo>;
|
||||
connectionState: ConnectionInfo;
|
||||
createRole: AdminRoleInfo;
|
||||
createUser: AdminUserInfo;
|
||||
dataSourceList: Array<DataSourceInfo>;
|
||||
dataTransferAvailableStreamProcessors: Array<DataTransferProcessorInfo>;
|
||||
dataTransferExportDataFromContainer: AsyncTaskInfo;
|
||||
dataTransferExportDataFromResults: AsyncTaskInfo;
|
||||
dataTransferRemoveDataFile?: Maybe<Scalars['Boolean']>;
|
||||
deleteRole?: Maybe<Scalars['Boolean']>;
|
||||
deleteUser?: Maybe<Scalars['Boolean']>;
|
||||
driverList: Array<DriverInfo>;
|
||||
grantUserRole?: Maybe<Scalars['Boolean']>;
|
||||
listPermissions: Array<Maybe<AdminPermissionInfo>>;
|
||||
listRoles: Array<Maybe<AdminRoleInfo>>;
|
||||
listUsers: Array<Maybe<AdminUserInfo>>;
|
||||
metadataGetNodeDDL?: Maybe<Scalars['String']>;
|
||||
navGetStructContainers: DatabaseStructContainers;
|
||||
navNodeChildren: Array<NavigatorNodeInfo>;
|
||||
navNodeInfo: NavigatorNodeInfo;
|
||||
navRefreshNode?: Maybe<Scalars['Boolean']>;
|
||||
readSessionLog: Array<LogEntry>;
|
||||
revokeUserRole?: Maybe<Scalars['Boolean']>;
|
||||
serverConfig: ServerConfig;
|
||||
sessionPermissions: Array<Maybe<Scalars['ID']>>;
|
||||
sessionState: SessionInfo;
|
||||
sessionUser?: Maybe<UserAuthInfo>;
|
||||
setRolePermissions?: Maybe<Scalars['Boolean']>;
|
||||
setUserCredentials?: Maybe<Scalars['Boolean']>;
|
||||
sqlCompletionProposals?: Maybe<Array<Maybe<SqlCompletionProposal>>>;
|
||||
sqlDialectInfo?: Maybe<SqlDialectInfo>;
|
||||
sqlListContexts?: Maybe<Array<Maybe<SqlContextInfo>>>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryAuthLoginArgs = {
|
||||
provider: Scalars['ID'];
|
||||
credentials: Scalars['Object'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryConnectionStateArgs = {
|
||||
id: Scalars['ID'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryCreateRoleArgs = {
|
||||
roleId: Scalars['ID'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryCreateUserArgs = {
|
||||
userId: Scalars['ID'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryDataTransferExportDataFromContainerArgs = {
|
||||
connectionId: Scalars['ID'];
|
||||
containerNodePath: Scalars['ID'];
|
||||
parameters: DataTransferParameters;
|
||||
};
|
||||
|
||||
|
||||
export type QueryDataTransferExportDataFromResultsArgs = {
|
||||
connectionId: Scalars['ID'];
|
||||
contextId: Scalars['ID'];
|
||||
resultsId: Scalars['ID'];
|
||||
parameters: DataTransferParameters;
|
||||
};
|
||||
|
||||
|
||||
export type QueryDataTransferRemoveDataFileArgs = {
|
||||
dataFileId: Scalars['String'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryDeleteRoleArgs = {
|
||||
roleId: Scalars['ID'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryDeleteUserArgs = {
|
||||
userId: Scalars['ID'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryDriverListArgs = {
|
||||
id?: Maybe<Scalars['ID']>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryGrantUserRoleArgs = {
|
||||
userId: Scalars['ID'];
|
||||
roleId: Scalars['ID'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryListRolesArgs = {
|
||||
roleId?: Maybe<Scalars['ID']>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryListUsersArgs = {
|
||||
userId?: Maybe<Scalars['ID']>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryMetadataGetNodeDdlArgs = {
|
||||
nodeId: Scalars['ID'];
|
||||
options?: Maybe<Scalars['Object']>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryNavGetStructContainersArgs = {
|
||||
connectionId: Scalars['ID'];
|
||||
catalog?: Maybe<Scalars['ID']>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryNavNodeChildrenArgs = {
|
||||
parentPath: Scalars['ID'];
|
||||
offset?: Maybe<Scalars['Int']>;
|
||||
limit?: Maybe<Scalars['Int']>;
|
||||
onlyFolders?: Maybe<Scalars['Boolean']>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryNavNodeInfoArgs = {
|
||||
nodePath: Scalars['ID'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryNavRefreshNodeArgs = {
|
||||
nodePath: Scalars['ID'];
|
||||
};
|
||||
|
||||
|
||||
export type QueryReadSessionLogArgs = {
|
||||
maxEntries?: Maybe<Scalars['Int']>;
|
||||
clearEntries?: Maybe<Scalars['Boolean']>;
|
||||
};
|
||||
|
||||
|
||||
export type QueryRevokeUserRoleArgs = {
|
||||
userId: Scalars['ID'];
|
||||
roleId: Scalars['ID'];
|
||||
};
|
||||
|
||||
|
||||
export type QuerySetRolePermissionsArgs = {
|
||||
roleId: Scalars['ID'];
|
||||
permissions: Array<Maybe<Scalars['ID']>>;
|
||||
};
|
||||
|
||||
|
||||
export type QuerySetUserCredentialsArgs = {
|
||||
userId: Scalars['ID'];
|
||||
providerId: Scalars['ID'];
|
||||
credentials: Scalars['Object'];
|
||||
};
|
||||
|
||||
|
||||
export type QuerySqlCompletionProposalsArgs = {
|
||||
connectionId: Scalars['ID'];
|
||||
contextId: Scalars['ID'];
|
||||
query: Scalars['String'];
|
||||
position: Scalars['Int'];
|
||||
maxResults?: Maybe<Scalars['Int']>;
|
||||
};
|
||||
|
||||
|
||||
export type QuerySqlDialectInfoArgs = {
|
||||
connectionId: Scalars['ID'];
|
||||
};
|
||||
|
||||
|
||||
export type QuerySqlListContextsArgs = {
|
||||
connectionId: Scalars['ID'];
|
||||
};
|
||||
|
||||
export type ServerConfig = {
|
||||
@@ -299,6 +557,24 @@ export type ServerConfig = {
|
||||
productConfiguration: Scalars['Object'];
|
||||
};
|
||||
|
||||
export type ServerError = {
|
||||
message?: Maybe<Scalars['String']>;
|
||||
errorCode?: Maybe<Scalars['String']>;
|
||||
stackTrace?: Maybe<Scalars['String']>;
|
||||
causedBy?: Maybe<ServerError>;
|
||||
};
|
||||
|
||||
export type ServerLanguage = {
|
||||
isoCode: Scalars['String'];
|
||||
displayName?: Maybe<Scalars['String']>;
|
||||
nativeName?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type ServerMessage = {
|
||||
time?: Maybe<Scalars['String']>;
|
||||
message?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type SessionInfo = {
|
||||
createTime: Scalars['String'];
|
||||
lastAccessTime: Scalars['String'];
|
||||
@@ -308,168 +584,6 @@ export type SessionInfo = {
|
||||
connections: Array<ConnectionInfo>;
|
||||
};
|
||||
|
||||
export type DriverInfo = {
|
||||
id: Scalars['ID'];
|
||||
name?: Maybe<Scalars['String']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
icon?: Maybe<Scalars['String']>;
|
||||
iconBig?: Maybe<Scalars['String']>;
|
||||
providerId?: Maybe<Scalars['ID']>;
|
||||
driverClassName?: Maybe<Scalars['String']>;
|
||||
defaultPort?: Maybe<Scalars['String']>;
|
||||
sampleURL?: Maybe<Scalars['String']>;
|
||||
driverInfoURL?: Maybe<Scalars['String']>;
|
||||
driverPropertiesURL?: Maybe<Scalars['String']>;
|
||||
embedded?: Maybe<Scalars['Boolean']>;
|
||||
anonymousAccess?: Maybe<Scalars['Boolean']>;
|
||||
allowsEmptyPassword?: Maybe<Scalars['Boolean']>;
|
||||
licenseRequired?: Maybe<Scalars['Boolean']>;
|
||||
license?: Maybe<Scalars['String']>;
|
||||
custom?: Maybe<Scalars['Boolean']>;
|
||||
promotedScore?: Maybe<Scalars['Int']>;
|
||||
connectionProperties?: Maybe<Scalars['Object']>;
|
||||
defaultConnectionProperties?: Maybe<Scalars['Object']>;
|
||||
driverProperties?: Maybe<Array<Maybe<DriverPropertyInfo>>>;
|
||||
driverParameters?: Maybe<Scalars['Object']>;
|
||||
};
|
||||
|
||||
export type DriverPropertyInfo = {
|
||||
id: Scalars['ID'];
|
||||
displayName?: Maybe<Scalars['String']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
category?: Maybe<Scalars['String']>;
|
||||
dataType?: Maybe<Scalars['String']>;
|
||||
defaultValue?: Maybe<Scalars['Object']>;
|
||||
validValues?: Maybe<Array<Maybe<Scalars['Object']>>>;
|
||||
};
|
||||
|
||||
export type DataSourceInfo = {
|
||||
id: Scalars['ID'];
|
||||
driverId: Scalars['ID'];
|
||||
name: Scalars['String'];
|
||||
description?: Maybe<Scalars['String']>;
|
||||
host?: Maybe<Scalars['String']>;
|
||||
server?: Maybe<Scalars['String']>;
|
||||
port?: Maybe<Scalars['String']>;
|
||||
url?: Maybe<Scalars['String']>;
|
||||
properties?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type ConnectionConfig = {
|
||||
name?: Maybe<Scalars['String']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
dataSourceId?: Maybe<Scalars['ID']>;
|
||||
driverId?: Maybe<Scalars['ID']>;
|
||||
host?: Maybe<Scalars['String']>;
|
||||
port?: Maybe<Scalars['String']>;
|
||||
databaseName?: Maybe<Scalars['String']>;
|
||||
url?: Maybe<Scalars['String']>;
|
||||
properties?: Maybe<Scalars['Object']>;
|
||||
userName?: Maybe<Scalars['String']>;
|
||||
userPassword?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type ConnectionInfo = {
|
||||
id: Scalars['ID'];
|
||||
driverId: Scalars['ID'];
|
||||
name: Scalars['String'];
|
||||
description?: Maybe<Scalars['String']>;
|
||||
properties?: Maybe<Scalars['String']>;
|
||||
connected: Scalars['Boolean'];
|
||||
provided: Scalars['Boolean'];
|
||||
connectTime?: Maybe<Scalars['String']>;
|
||||
connectionError?: Maybe<ServerError>;
|
||||
serverVersion?: Maybe<Scalars['String']>;
|
||||
clientVersion?: Maybe<Scalars['String']>;
|
||||
features: Array<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type LogEntry = {
|
||||
time?: Maybe<Scalars['DateTime']>;
|
||||
type: Scalars['String'];
|
||||
message?: Maybe<Scalars['String']>;
|
||||
stackTrace?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type ObjectDescriptor = {
|
||||
id?: Maybe<Scalars['Int']>;
|
||||
displayName?: Maybe<Scalars['String']>;
|
||||
fullName?: Maybe<Scalars['String']>;
|
||||
uniqueName?: Maybe<Scalars['String']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
value?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type ObjectPropertyInfo = {
|
||||
id?: Maybe<Scalars['String']>;
|
||||
displayName?: Maybe<Scalars['String']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
category?: Maybe<Scalars['String']>;
|
||||
dataType?: Maybe<Scalars['String']>;
|
||||
value?: Maybe<Scalars['Object']>;
|
||||
validValues?: Maybe<Array<Maybe<Scalars['Object']>>>;
|
||||
defaultValue?: Maybe<Scalars['Object']>;
|
||||
features: Array<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type ObjectPropertyFilter = {
|
||||
ids?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
features?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
categories?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
dataTypes?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
};
|
||||
|
||||
export type DatabaseObjectInfo = {
|
||||
name?: Maybe<Scalars['String']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
type?: Maybe<Scalars['String']>;
|
||||
properties?: Maybe<Array<Maybe<ObjectPropertyInfo>>>;
|
||||
ordinalPosition?: Maybe<Scalars['Int']>;
|
||||
fullyQualifiedName?: Maybe<Scalars['String']>;
|
||||
overloadedName?: Maybe<Scalars['String']>;
|
||||
uniqueName?: Maybe<Scalars['String']>;
|
||||
state?: Maybe<Scalars['String']>;
|
||||
features?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
editors?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
};
|
||||
|
||||
|
||||
export type DatabaseObjectInfoPropertiesArgs = {
|
||||
filter?: Maybe<ObjectPropertyFilter>;
|
||||
};
|
||||
|
||||
export type NavigatorNodeInfo = {
|
||||
id: Scalars['ID'];
|
||||
name?: Maybe<Scalars['String']>;
|
||||
icon?: Maybe<Scalars['String']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
nodeType?: Maybe<Scalars['String']>;
|
||||
hasChildren?: Maybe<Scalars['Boolean']>;
|
||||
object?: Maybe<DatabaseObjectInfo>;
|
||||
features?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
folder?: Maybe<Scalars['Boolean']>;
|
||||
inline?: Maybe<Scalars['Boolean']>;
|
||||
navigable?: Maybe<Scalars['Boolean']>;
|
||||
};
|
||||
|
||||
export type DatabaseStructContainers = {
|
||||
catalogList: Array<DatabaseObjectInfo>;
|
||||
schemaList: Array<DatabaseObjectInfo>;
|
||||
};
|
||||
|
||||
export type SqlDialectInfo = {
|
||||
name?: Maybe<Scalars['String']>;
|
||||
dataTypes?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
functions?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
reservedWords?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
quoteStrings?: Maybe<Array<Maybe<Array<Maybe<Scalars['String']>>>>>;
|
||||
singleLineComments?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
multiLineComments?: Maybe<Array<Maybe<Array<Maybe<Scalars['String']>>>>>;
|
||||
catalogSeparator?: Maybe<Scalars['String']>;
|
||||
structSeparator?: Maybe<Scalars['String']>;
|
||||
scriptDelimiter?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type SqlCompletionProposal = {
|
||||
displayString?: Maybe<Scalars['String']>;
|
||||
type?: Maybe<Scalars['String']>;
|
||||
@@ -488,6 +602,14 @@ export type SqlContextInfo = {
|
||||
defaultSchema?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type SqlDataFilter = {
|
||||
offset?: Maybe<Scalars['Int']>;
|
||||
limit?: Maybe<Scalars['Int']>;
|
||||
constraints?: Maybe<Array<Maybe<SqlDataFilterConstraint>>>;
|
||||
where?: Maybe<Scalars['String']>;
|
||||
orderBy?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type SqlDataFilterConstraint = {
|
||||
attribute: Scalars['String'];
|
||||
orderPosition?: Maybe<Scalars['Int']>;
|
||||
@@ -497,11 +619,30 @@ export type SqlDataFilterConstraint = {
|
||||
value?: Maybe<Scalars['Object']>;
|
||||
};
|
||||
|
||||
export type SqlDataFilter = {
|
||||
offset?: Maybe<Scalars['Int']>;
|
||||
limit?: Maybe<Scalars['Int']>;
|
||||
constraints?: Maybe<Array<Maybe<SqlDataFilterConstraint>>>;
|
||||
where?: Maybe<Scalars['String']>;
|
||||
export type SqlDialectInfo = {
|
||||
name?: Maybe<Scalars['String']>;
|
||||
dataTypes?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
functions?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
reservedWords?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
quoteStrings?: Maybe<Array<Maybe<Array<Maybe<Scalars['String']>>>>>;
|
||||
singleLineComments?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
multiLineComments?: Maybe<Array<Maybe<Array<Maybe<Scalars['String']>>>>>;
|
||||
catalogSeparator?: Maybe<Scalars['String']>;
|
||||
structSeparator?: Maybe<Scalars['String']>;
|
||||
scriptDelimiter?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type SqlExecuteInfo = {
|
||||
statusMessage?: Maybe<Scalars['String']>;
|
||||
duration?: Maybe<Scalars['Int']>;
|
||||
results: Array<SqlQueryResults>;
|
||||
};
|
||||
|
||||
export type SqlQueryResults = {
|
||||
title?: Maybe<Scalars['String']>;
|
||||
updateRowCount?: Maybe<Scalars['Int']>;
|
||||
sourceQuery?: Maybe<Scalars['String']>;
|
||||
resultSet?: Maybe<SqlResultSet>;
|
||||
};
|
||||
|
||||
export type SqlResultColumn = {
|
||||
@@ -525,44 +666,6 @@ export type SqlResultSet = {
|
||||
hasMoreData?: Maybe<Scalars['Boolean']>;
|
||||
};
|
||||
|
||||
export type SqlQueryResults = {
|
||||
title?: Maybe<Scalars['String']>;
|
||||
updateRowCount?: Maybe<Scalars['Int']>;
|
||||
sourceQuery?: Maybe<Scalars['String']>;
|
||||
resultSet?: Maybe<SqlResultSet>;
|
||||
};
|
||||
|
||||
export type SqlExecuteInfo = {
|
||||
statusMessage?: Maybe<Scalars['String']>;
|
||||
duration?: Maybe<Scalars['Int']>;
|
||||
results: Array<SqlQueryResults>;
|
||||
};
|
||||
|
||||
export enum AuthCredentialEncryption {
|
||||
None = 'none',
|
||||
Plain = 'plain',
|
||||
Hash = 'hash'
|
||||
}
|
||||
|
||||
export type AuthCredentialInfo = {
|
||||
id: Scalars['ID'];
|
||||
displayName: Scalars['String'];
|
||||
description?: Maybe<Scalars['String']>;
|
||||
admin?: Maybe<Scalars['Boolean']>;
|
||||
user?: Maybe<Scalars['Boolean']>;
|
||||
possibleValues?: Maybe<Array<Maybe<Scalars['String']>>>;
|
||||
encryption?: Maybe<AuthCredentialEncryption>;
|
||||
};
|
||||
|
||||
export type AuthProviderInfo = {
|
||||
id: Scalars['ID'];
|
||||
label: Scalars['String'];
|
||||
icon?: Maybe<Scalars['ID']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
defaultProvider?: Maybe<Scalars['Boolean']>;
|
||||
credentialParameters: Array<AuthCredentialInfo>;
|
||||
};
|
||||
|
||||
export type UserAuthInfo = {
|
||||
userId: Scalars['String'];
|
||||
displayName?: Maybe<Scalars['String']>;
|
||||
@@ -571,25 +674,11 @@ export type UserAuthInfo = {
|
||||
message?: Maybe<Scalars['String']>;
|
||||
};
|
||||
|
||||
export type DataTransferProcessorInfo = {
|
||||
id: Scalars['ID'];
|
||||
name?: Maybe<Scalars['String']>;
|
||||
description?: Maybe<Scalars['String']>;
|
||||
fileExtension?: Maybe<Scalars['String']>;
|
||||
appFileExtension?: Maybe<Scalars['String']>;
|
||||
appName?: Maybe<Scalars['String']>;
|
||||
order: Scalars['Int'];
|
||||
icon?: Maybe<Scalars['String']>;
|
||||
properties?: Maybe<Array<Maybe<ObjectPropertyInfo>>>;
|
||||
isBinary?: Maybe<Scalars['Boolean']>;
|
||||
isHTML?: Maybe<Scalars['Boolean']>;
|
||||
};
|
||||
|
||||
export type DataTransferParameters = {
|
||||
processorId: Scalars['ID'];
|
||||
settings?: Maybe<Scalars['Object']>;
|
||||
processorProperties: Scalars['Object'];
|
||||
filter?: Maybe<SqlDataFilter>;
|
||||
export type WebServiceConfig = {
|
||||
id: Scalars['String'];
|
||||
name: Scalars['String'];
|
||||
description: Scalars['String'];
|
||||
bundleVersion: Scalars['String'];
|
||||
};
|
||||
|
||||
export type NavGetStructContainersQueryVariables = {
|
||||
@@ -725,6 +814,43 @@ export type ChangeSessionLanguageMutationVariables = {
|
||||
|
||||
export type ChangeSessionLanguageMutation = Pick<Mutation, 'changeSessionLanguage'>;
|
||||
|
||||
export type DeleteUserQueryVariables = {
|
||||
userId: Scalars['ID'];
|
||||
};
|
||||
|
||||
|
||||
export type DeleteUserQuery = Pick<Query, 'deleteUser'>;
|
||||
|
||||
export type GetPermissionsListQueryVariables = {
|
||||
roleId?: Maybe<Scalars['ID']>;
|
||||
};
|
||||
|
||||
|
||||
export type GetPermissionsListQuery = { permissions: Array<Maybe<Pick<AdminPermissionInfo, 'id' | 'label' | 'description' | 'provider' | 'category'>>> };
|
||||
|
||||
export type GetRolesListQueryVariables = {
|
||||
roleId?: Maybe<Scalars['ID']>;
|
||||
};
|
||||
|
||||
|
||||
export type GetRolesListQuery = { roles: Array<Maybe<Pick<AdminRoleInfo, 'roleId' | 'roleName' | 'rolePermissions'>>> };
|
||||
|
||||
export type GetUsersListQueryVariables = {
|
||||
userId?: Maybe<Scalars['ID']>;
|
||||
};
|
||||
|
||||
|
||||
export type GetUsersListQuery = { users: Array<Maybe<Pick<AdminUserInfo, 'userId'>>> };
|
||||
|
||||
export type SetUserCredentialsQueryVariables = {
|
||||
userId: Scalars['ID'];
|
||||
providerId: Scalars['ID'];
|
||||
credentials: Scalars['Object'];
|
||||
};
|
||||
|
||||
|
||||
export type SetUserCredentialsQuery = Pick<Query, 'setUserCredentials'>;
|
||||
|
||||
export type AuthLoginQueryVariables = {
|
||||
provider: Scalars['ID'];
|
||||
credentials: Scalars['Object'];
|
||||
@@ -1199,6 +1325,43 @@ export const ChangeSessionLanguageDocument = `
|
||||
changeSessionLanguage(locale: $locale)
|
||||
}
|
||||
`;
|
||||
export const DeleteUserDocument = `
|
||||
query deleteUser($userId: ID!) {
|
||||
deleteUser(userId: $userId)
|
||||
}
|
||||
`;
|
||||
export const GetPermissionsListDocument = `
|
||||
query getPermissionsList($roleId: ID) {
|
||||
permissions: listPermissions {
|
||||
id
|
||||
label
|
||||
description
|
||||
provider
|
||||
category
|
||||
}
|
||||
}
|
||||
`;
|
||||
export const GetRolesListDocument = `
|
||||
query getRolesList($roleId: ID) {
|
||||
roles: listRoles(roleId: $roleId) {
|
||||
roleId
|
||||
roleName
|
||||
rolePermissions
|
||||
}
|
||||
}
|
||||
`;
|
||||
export const GetUsersListDocument = `
|
||||
query getUsersList($userId: ID) {
|
||||
users: listUsers(userId: $userId) {
|
||||
userId
|
||||
}
|
||||
}
|
||||
`;
|
||||
export const SetUserCredentialsDocument = `
|
||||
query setUserCredentials($userId: ID!, $providerId: ID!, $credentials: Object!) {
|
||||
setUserCredentials(userId: $userId, providerId: $providerId, credentials: $credentials)
|
||||
}
|
||||
`;
|
||||
export const AuthLoginDocument = `
|
||||
query authLogin($provider: ID!, $credentials: Object!) {
|
||||
user: authLogin(provider: $provider, credentials: $credentials) {
|
||||
@@ -1657,6 +1820,21 @@ export function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper =
|
||||
changeSessionLanguage(variables: ChangeSessionLanguageMutationVariables): Promise<ChangeSessionLanguageMutation> {
|
||||
return withWrapper(() => client.request<ChangeSessionLanguageMutation>(ChangeSessionLanguageDocument, variables));
|
||||
},
|
||||
deleteUser(variables: DeleteUserQueryVariables): Promise<DeleteUserQuery> {
|
||||
return withWrapper(() => client.request<DeleteUserQuery>(DeleteUserDocument, variables));
|
||||
},
|
||||
getPermissionsList(variables?: GetPermissionsListQueryVariables): Promise<GetPermissionsListQuery> {
|
||||
return withWrapper(() => client.request<GetPermissionsListQuery>(GetPermissionsListDocument, variables));
|
||||
},
|
||||
getRolesList(variables?: GetRolesListQueryVariables): Promise<GetRolesListQuery> {
|
||||
return withWrapper(() => client.request<GetRolesListQuery>(GetRolesListDocument, variables));
|
||||
},
|
||||
getUsersList(variables?: GetUsersListQueryVariables): Promise<GetUsersListQuery> {
|
||||
return withWrapper(() => client.request<GetUsersListQuery>(GetUsersListDocument, variables));
|
||||
},
|
||||
setUserCredentials(variables: SetUserCredentialsQueryVariables): Promise<SetUserCredentialsQuery> {
|
||||
return withWrapper(() => client.request<SetUserCredentialsQuery>(SetUserCredentialsDocument, variables));
|
||||
},
|
||||
authLogin(variables: AuthLoginQueryVariables): Promise<AuthLoginQuery> {
|
||||
return withWrapper(() => client.request<AuthLoginQuery>(AuthLoginDocument, variables));
|
||||
},
|
||||
|
||||
@@ -34,6 +34,9 @@ const styles = css`
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
IconButton {
|
||||
color: rgba(0, 0, 0, 0.45);
|
||||
}
|
||||
`;
|
||||
|
||||
export const ExportNotification = observer(function ExportNotification({
|
||||
|
||||
+2057
-56
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user