From 4b02d09cb2c334363adf027d3fc3c41750d9c267 Mon Sep 17 00:00:00 2001 From: Chang Liu Date: Mon, 17 Oct 2022 16:35:41 -0700 Subject: [PATCH] Define variables and functions (#1145) Signed-off-by: Chang Liu --- server/saved_objects/saved_objects_wrapper.ts | 58 ++++++++----------- 1 file changed, 23 insertions(+), 35 deletions(-) diff --git a/server/saved_objects/saved_objects_wrapper.ts b/server/saved_objects/saved_objects_wrapper.ts index 772a8f4fe..53c4d0dc6 100644 --- a/server/saved_objects/saved_objects_wrapper.ts +++ b/server/saved_objects/saved_objects_wrapper.ts @@ -46,15 +46,20 @@ export class SecuritySavedObjectsClientWrapper { (this.httpStart!.auth.get(wrapperOptions.request).state as OpenSearchDashboardsAuthState) || {}; + const selectedTenant = state.selectedTenant; + const username = state.authInfo?.user_name; + const globalTenant = ''; + const defaultTenant = 'default'; + const privateTenant = '__user__'; + + let namespaceValue = selectedTenant; + const createWithNamespace = async ( type: string, attributes: T, options?: SavedObjectsCreateOptions ) => { - const selectedTenant = state.selectedTenant; - const username = state.authInfo?.user_name; - let namespaceValue = selectedTenant; - if (selectedTenant === '__user__') { + if (selectedTenant !== undefined && isPrivateTenant(selectedTenant)) { namespaceValue = selectedTenant + username; } _.assign(options, { namespace: [namespaceValue] }); @@ -65,10 +70,7 @@ export class SecuritySavedObjectsClientWrapper { objects: SavedObjectsBulkGetObject[] = [], options: SavedObjectsBaseOptions = {} ): Promise> => { - const selectedTenant = state.selectedTenant; - const username = state.authInfo?.user_name; - let namespaceValue = selectedTenant; - if (selectedTenant === '__user__') { + if (selectedTenant !== undefined && isPrivateTenant(selectedTenant)) { namespaceValue = selectedTenant + username; } _.assign(options, { namespace: [namespaceValue] }); @@ -80,9 +82,9 @@ export class SecuritySavedObjectsClientWrapper { ): Promise> => { const tenants = state.authInfo?.tenants; const availableTenantNames = Object.keys(tenants!); - availableTenantNames.push('default'); - availableTenantNames.push(''); - availableTenantNames.push('__user__' + state.authInfo?.user_name); + availableTenantNames.push(defaultTenant); + availableTenantNames.push(globalTenant); + availableTenantNames.push(privateTenant + state.authInfo?.user_name); _.assign(options, { namespaces: availableTenantNames }); return await wrapperOptions.client.find(options); }; @@ -92,10 +94,7 @@ export class SecuritySavedObjectsClientWrapper { id: string, options: SavedObjectsBaseOptions = {} ): Promise> => { - const selectedTenant = state.selectedTenant; - const username = state.authInfo?.user_name; - let namespaceValue = selectedTenant; - if (selectedTenant === '__user__') { + if (selectedTenant !== undefined && isPrivateTenant(selectedTenant)) { namespaceValue = selectedTenant + username; } _.assign(options, { namespace: [namespaceValue] }); @@ -108,10 +107,7 @@ export class SecuritySavedObjectsClientWrapper { attributes: Partial, options: SavedObjectsUpdateOptions = {} ): Promise> => { - const selectedTenant = state.selectedTenant; - const username = state.authInfo?.user_name; - let namespaceValue = selectedTenant; - if (selectedTenant === '__user__') { + if (selectedTenant !== undefined && isPrivateTenant(selectedTenant)) { namespaceValue = selectedTenant + username; } _.assign(options, { namespace: [namespaceValue] }); @@ -122,10 +118,7 @@ export class SecuritySavedObjectsClientWrapper { objects: Array>, options?: SavedObjectsCreateOptions ): Promise> => { - const selectedTenant = state.selectedTenant; - const username = state.authInfo?.user_name; - let namespaceValue = selectedTenant; - if (selectedTenant === '__user__') { + if (selectedTenant !== undefined && isPrivateTenant(selectedTenant)) { namespaceValue = selectedTenant + username; } _.assign(options, { namespace: [namespaceValue] }); @@ -136,10 +129,7 @@ export class SecuritySavedObjectsClientWrapper { objects: Array>, options?: SavedObjectsBulkUpdateOptions ): Promise> => { - const selectedTenant = state.selectedTenant; - const username = state.authInfo?.user_name; - let namespaceValue = selectedTenant; - if (selectedTenant === '__user__') { + if (selectedTenant !== undefined && isPrivateTenant(selectedTenant)) { namespaceValue = selectedTenant + username; } _.assign(options, { namespace: [namespaceValue] }); @@ -151,10 +141,7 @@ export class SecuritySavedObjectsClientWrapper { id: string, options: SavedObjectsDeleteOptions = {} ) => { - const selectedTenant = state.selectedTenant; - const username = state.authInfo?.user_name; - let namespaceValue = selectedTenant; - if (selectedTenant === '__user__') { + if (selectedTenant !== undefined && isPrivateTenant(selectedTenant)) { namespaceValue = selectedTenant + username; } _.assign(options, { namespace: [namespaceValue] }); @@ -165,10 +152,7 @@ export class SecuritySavedObjectsClientWrapper { objects: SavedObjectsCheckConflictsObject[] = [], options: SavedObjectsBaseOptions = {} ): Promise => { - const selectedTenant = state.selectedTenant; - const username = state.authInfo?.user_name; - let namespaceValue = selectedTenant; - if (selectedTenant === '__user__') { + if (selectedTenant !== undefined && isPrivateTenant(selectedTenant)) { namespaceValue = selectedTenant + username; } _.assign(options, { namespace: [namespaceValue] }); @@ -192,3 +176,7 @@ export class SecuritySavedObjectsClientWrapper { }; }; } + +function isPrivateTenant(selectedTenant: string | undefined) { + return selectedTenant === '__user__'; +}