diff --git a/src/plugins/workspace/server/saved_objects/integration_tests/workspace_saved_objects_client_wrapper.test.ts b/src/plugins/workspace/server/saved_objects/integration_tests/workspace_saved_objects_client_wrapper.test.ts index 8af960e68e2c..42c0d230edbe 100644 --- a/src/plugins/workspace/server/saved_objects/integration_tests/workspace_saved_objects_client_wrapper.test.ts +++ b/src/plugins/workspace/server/saved_objects/integration_tests/workspace_saved_objects_client_wrapper.test.ts @@ -11,7 +11,7 @@ import { TestOpenSearchDashboardsUtils, TestUtils, } from '../../../../../core/test_helpers/osd_server'; -import { SavedObjectsErrorHelpers } from '../../../../../core/server'; +import { SavedObjectsErrorHelpers, WORKSPACE_TYPE } from '../../../../../core/server'; import { httpServerMock } from '../../../../../../src/core/server/mocks'; import * as utilsExports from '../../utils'; @@ -74,7 +74,13 @@ describe('WorkspaceSavedObjectsClientWrapper', () => { opensearchServer = await servers.startOpenSearch(); osd = await servers.startOpenSearchDashboards(); - internalSavedObjectsRepository = osd.coreStart.savedObjects.createInternalRepository(); + /** + * Workspace is a hidden type, + * and this integration_test is mainly to test the permission control function so we add workspace into includedHiddenTypes + */ + internalSavedObjectsRepository = osd.coreStart.savedObjects.createInternalRepository([ + WORKSPACE_TYPE, + ]); await repositoryKit.create( internalSavedObjectsRepository, diff --git a/src/plugins/workspace/server/workspace_client.ts b/src/plugins/workspace/server/workspace_client.ts index 434a84417cdd..ba2086489692 100644 --- a/src/plugins/workspace/server/workspace_client.ts +++ b/src/plugins/workspace/server/workspace_client.ts @@ -343,8 +343,9 @@ export class WorkspaceClientWithSavedObject implements IWorkspaceClientImpl { type: WORKSPACE_TYPE, ...(permissionModes ? { ACLSearchParams: { permissionModes } } : {}), }); - const { saved_objects: resultSavedObjects, ...others } = resultResp; + const { saved_objects: resultSavedObjects, ...resultOthers } = resultResp; let savedObjects = resultSavedObjects; + let others = resultOthers; const scopedClientWithoutPermissionCheck = this.getScopedClientWithoutPermission( requestDetail ); @@ -397,7 +398,9 @@ export class WorkspaceClientWithSavedObject implements IWorkspaceClientImpl { type: WORKSPACE_TYPE, ...(permissionModes ? { ACLSearchParams: { permissionModes } } : {}), }); + const { saved_objects: retrySavedObjects, ...retryOthers } = retryFindResp; savedObjects = retryFindResp.saved_objects; + others = retryOthers; } } catch (e) { this.logger.error(`Some error happened when initializing reserved workspace: ${e}`);