From c8287e6ca1e51a9bd2a19719cbb2d319ac8dafc0 Mon Sep 17 00:00:00 2001 From: SuZhoue-Joe Date: Mon, 19 Jun 2023 10:47:47 +0800 Subject: [PATCH] feat: some optimization Signed-off-by: SuZhoue-Joe --- src/core/server/saved_objects/import/create_saved_objects.ts | 2 +- src/core/server/saved_objects/service/lib/repository.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/core/server/saved_objects/import/create_saved_objects.ts b/src/core/server/saved_objects/import/create_saved_objects.ts index 6982f21bbf37..b67cffce1e96 100644 --- a/src/core/server/saved_objects/import/create_saved_objects.ts +++ b/src/core/server/saved_objects/import/create_saved_objects.ts @@ -113,7 +113,7 @@ export const createSavedObjects = async ({ // remap results to reflect the object IDs that were submitted for import // this ensures that consumers understand the results const remappedResults = expectedResults.map>((result) => { - const { id } = objectIdMap.get(`${result.type}:${result.id}`)!; + const { id } = objectIdMap.get(`${result.type}:${result.id}`) || ({} as SavedObject); // also, include a `destinationId` field if the object create attempt was made with a different ID return { ...result, id, ...(id !== result.id && { destinationId: result.id }) }; }); diff --git a/src/core/server/saved_objects/service/lib/repository.ts b/src/core/server/saved_objects/service/lib/repository.ts index 7c03fdba856c..d23368d95c39 100644 --- a/src/core/server/saved_objects/service/lib/repository.ts +++ b/src/core/server/saved_objects/service/lib/repository.ts @@ -405,7 +405,9 @@ export class SavedObjectsRepository { method, } = expectedBulkGetResult.value; let savedObjectWorkspaces: string[] | undefined; - if (object.workspaces) { + if (expectedBulkGetResult.value.method === 'create') { + savedObjectWorkspaces = Array.from(new Set([...(options.workspaces || [])])); + } else if (object.workspaces) { savedObjectWorkspaces = Array.from( new Set([...object.workspaces, ...(options.workspaces || [])]) );