From 9e74d17d756ce0171970f0a097655a408dae7219 Mon Sep 17 00:00:00 2001 From: SuZhou-Joe Date: Fri, 22 Mar 2024 15:24:25 +0800 Subject: [PATCH] feat: address TODO Signed-off-by: SuZhou-Joe --- src/plugins/workspace/server/plugin.ts | 14 +++++------ .../workspace_id_consumer_wrapper.ts | 25 ++----------------- .../workspace/server/workspace_client.ts | 7 +----- 3 files changed, 9 insertions(+), 37 deletions(-) diff --git a/src/plugins/workspace/server/plugin.ts b/src/plugins/workspace/server/plugin.ts index 7caff8dfa5a7..98273badc04b 100644 --- a/src/plugins/workspace/server/plugin.ts +++ b/src/plugins/workspace/server/plugin.ts @@ -85,6 +85,12 @@ export class WorkspacePlugin implements Plugin<{}, {}> { this.workspaceConflictControl.wrapperFactory ); + core.savedObjects.addClientWrapper( + -2, + WORKSPACE_ID_CONSUMER_WRAPPER_ID, + new WorkspaceIdConsumerWrapper().wrapperFactory + ); + this.logger.info('Workspace permission control enabled:' + isPermissionControlEnabled); if (isPermissionControlEnabled) { this.permissionControl = new SavedObjectsPermissionControl(this.logger); @@ -100,14 +106,6 @@ export class WorkspacePlugin implements Plugin<{}, {}> { ); } - // TODO: TOO many client wrapper inside a single workspace plugin - // Try to combine conflict wrapper and this consumer wrapper. - core.savedObjects.addClientWrapper( - -2, - WORKSPACE_ID_CONSUMER_WRAPPER_ID, - new WorkspaceIdConsumerWrapper().wrapperFactory - ); - registerRoutes({ http: core.http, logger: this.logger, diff --git a/src/plugins/workspace/server/saved_objects/workspace_id_consumer_wrapper.ts b/src/plugins/workspace/server/saved_objects/workspace_id_consumer_wrapper.ts index 1135b8ca2eed..321a026d943e 100644 --- a/src/plugins/workspace/server/saved_objects/workspace_id_consumer_wrapper.ts +++ b/src/plugins/workspace/server/saved_objects/workspace_id_consumer_wrapper.ts @@ -12,9 +12,6 @@ import { SavedObjectsCheckConflictsObject, OpenSearchDashboardsRequest, SavedObjectsFindOptions, - SavedObjectsUpdateOptions, - SavedObjectsBulkUpdateOptions, - SavedObjectsBulkUpdateObject, WORKSPACE_TYPE, } from '../../../../core/server'; @@ -89,26 +86,8 @@ export class WorkspaceIdConsumerWrapper { ), bulkGet: wrapperOptions.client.bulkGet, get: wrapperOptions.client.get, - update: ( - type: string, - id: string, - attributes: Partial, - options: SavedObjectsUpdateOptions = {} - ) => - wrapperOptions.client.update( - type, - id, - attributes, - this.formatWorkspaceIdParams(wrapperOptions.request, options) - ), - bulkUpdate: ( - objects: Array>, - options?: SavedObjectsBulkUpdateOptions - ) => - wrapperOptions.client.bulkUpdate( - objects, - this.formatWorkspaceIdParams(wrapperOptions.request, options) - ), + update: wrapperOptions.client.update, + bulkUpdate: wrapperOptions.client.bulkUpdate, addToNamespaces: wrapperOptions.client.addToNamespaces, deleteFromNamespaces: wrapperOptions.client.deleteFromNamespaces, }; diff --git a/src/plugins/workspace/server/workspace_client.ts b/src/plugins/workspace/server/workspace_client.ts index 0ffb72f016f2..05e323f63f02 100644 --- a/src/plugins/workspace/server/workspace_client.ts +++ b/src/plugins/workspace/server/workspace_client.ts @@ -20,12 +20,7 @@ import { import { IWorkspaceClientImpl, WorkspaceFindOptions, IResponse, IRequestDetail } from './types'; import { workspace } from './saved_objects'; import { generateRandomId } from './utils'; -import { - WORKSPACE_ID_CONSUMER_WRAPPER_ID, - WORKSPACE_OVERVIEW_APP_ID, - WORKSPACE_SAVED_OBJECTS_CLIENT_WRAPPER_ID, - WORKSPACE_UPDATE_APP_ID, -} from '../common/constants'; +import { WORKSPACE_SAVED_OBJECTS_CLIENT_WRAPPER_ID } from '../common/constants'; const WORKSPACE_ID_SIZE = 6;