mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
refactor(core): EPermission enum
This commit is contained in:
@@ -6,11 +6,11 @@
|
||||
* you may not use this file except in compliance with the License.
|
||||
*/
|
||||
|
||||
import { MainMenuService, ConnectionDialogsService, PUBLIC_PERMISSION } from '@dbeaver/core/app';
|
||||
import { MainMenuService, ConnectionDialogsService } from '@dbeaver/core/app';
|
||||
import { injectable } from '@dbeaver/core/di';
|
||||
import { CommonDialogService } from '@dbeaver/core/dialogs';
|
||||
import { NotificationService } from '@dbeaver/core/eventsLog';
|
||||
import { PermissionsService } from '@dbeaver/core/root';
|
||||
import { PermissionsService, EPermission } from '@dbeaver/core/root';
|
||||
|
||||
import { BasicConnectionService } from './BasicConnectionService';
|
||||
import { ConnectionDialog } from './ConnectionDialog/ConnectionDialog';
|
||||
@@ -37,7 +37,7 @@ export class BasicConnectionPluginBootstrap {
|
||||
order: 2,
|
||||
title: 'basicConnection_main_menu_item',
|
||||
onClick: () => this.openConnectionsDialog(),
|
||||
isHidden: () => !this.permissionsService.has(PUBLIC_PERMISSION),
|
||||
isHidden: () => !this.permissionsService.has(EPermission.public),
|
||||
isDisabled: () => !this.basicConnectionService.dbSources.data.length,
|
||||
}
|
||||
);
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
*/
|
||||
|
||||
import {
|
||||
Connection, DBSource, ConnectionsManagerService, PUBLIC_PERMISSION
|
||||
Connection, DBSource, ConnectionsManagerService
|
||||
} from '@dbeaver/core/app';
|
||||
import { injectable } from '@dbeaver/core/di';
|
||||
import { PermissionsService } from '@dbeaver/core/root';
|
||||
import { PermissionsService, EPermission } from '@dbeaver/core/root';
|
||||
import { ConnectionConfig, GraphQLService, CachedResource } from '@dbeaver/core/sdk';
|
||||
|
||||
@injectable()
|
||||
@@ -30,7 +30,7 @@ export class BasicConnectionService {
|
||||
}
|
||||
|
||||
private async loadDBSourcesAsync(data: DBSource[]): Promise<DBSource[]> {
|
||||
if (!await this.permissionsService.hasAsync(PUBLIC_PERMISSION)) {
|
||||
if (!await this.permissionsService.hasAsync(EPermission.public)) {
|
||||
return [];
|
||||
}
|
||||
const { dataSourceList } = await this.graphQLService.gql.dataSourceList();
|
||||
|
||||
@@ -9,9 +9,8 @@
|
||||
import { observer } from 'mobx-react';
|
||||
import styled, { css } from 'reshadow';
|
||||
|
||||
import { usePermission } from '@dbeaver/core/root';
|
||||
import { usePermission, EPermission } from '@dbeaver/core/root';
|
||||
|
||||
import { PUBLIC_PERMISSION } from '../shared/NodesManager/NodesManagerService';
|
||||
import { useChildren } from '../shared/useChildren';
|
||||
import { NavigationTreeNode } from './NavigationTreeNode/NavigationTreeNode';
|
||||
|
||||
@@ -41,7 +40,7 @@ const navigationTreeStyles = css`
|
||||
|
||||
export const NavigationTree = observer(function NavigationTree() {
|
||||
const nodeChildren = useChildren();
|
||||
const isEnabled = usePermission(PUBLIC_PERMISSION);
|
||||
const isEnabled = usePermission(EPermission.public);
|
||||
|
||||
if (!isEnabled) {
|
||||
return null;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
*/
|
||||
|
||||
import { injectable } from '@dbeaver/core/di';
|
||||
import { PermissionsService } from '@dbeaver/core/root';
|
||||
import { PermissionsService, EPermission } from '@dbeaver/core/root';
|
||||
import { DatabaseObjectInfo, GraphQLService } from '@dbeaver/core/sdk';
|
||||
|
||||
import { INavigator } from '../Navigation/INavigator';
|
||||
@@ -44,7 +44,6 @@ export interface INodeNavigationData {
|
||||
}
|
||||
|
||||
const ROOT_NODE_PATH = '/';
|
||||
export const PUBLIC_PERMISSION = 'public';
|
||||
|
||||
// TODO: should be renamed to DBObjectManagerService
|
||||
@injectable()
|
||||
@@ -137,7 +136,7 @@ export class NodesManagerService {
|
||||
}
|
||||
|
||||
async updateRootChildren() {
|
||||
if (!await this.permissionsService.hasAsync(PUBLIC_PERMISSION)) {
|
||||
if (!await this.permissionsService.hasAsync(EPermission.public)) {
|
||||
return;
|
||||
}
|
||||
this.updateChildren(ROOT_NODE_PATH);
|
||||
|
||||
@@ -10,12 +10,11 @@ import { action, observable } from 'mobx';
|
||||
|
||||
import { injectable } from '@dbeaver/core/di';
|
||||
import { NotificationService } from '@dbeaver/core/eventsLog';
|
||||
import { PermissionsService } from '@dbeaver/core/root';
|
||||
import { PermissionsService, EPermission } from '@dbeaver/core/root';
|
||||
import { GraphQLService } from '@dbeaver/core/sdk';
|
||||
import { uuid } from '@dbeaver/core/utils';
|
||||
|
||||
import { CoreSettingsService } from '../../../../CoreSettingsService';
|
||||
import { PUBLIC_PERMISSION } from '../../NodesManager/NodesManagerService';
|
||||
import { ILogEntry } from './ILogEntry';
|
||||
|
||||
@injectable()
|
||||
@@ -117,6 +116,6 @@ export class LogViewerService {
|
||||
}
|
||||
|
||||
private isLogViewerAvailable() {
|
||||
return this.permissionsService.has(PUBLIC_PERMISSION);
|
||||
return this.permissionsService.has(EPermission.public);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,10 @@ type PermissionsMetadata = {
|
||||
loaded: boolean;
|
||||
}
|
||||
|
||||
export enum EPermission {
|
||||
public = 'public'
|
||||
}
|
||||
|
||||
@injectable()
|
||||
export class PermissionsService {
|
||||
readonly onUpdate: Observable<unknown>;
|
||||
|
||||
Reference in New Issue
Block a user