diff --git a/public/apps/account/account-app.tsx b/public/apps/account/account-app.tsx index e76fd1412..65809fa0f 100644 --- a/public/apps/account/account-app.tsx +++ b/public/apps/account/account-app.tsx @@ -45,14 +45,12 @@ export async function setupTopNavButton(coreStart: CoreStart, config: ClientConf } let tenant: string | undefined; - if (config.multitenancy.enabled && config.multitenancy.enable_aggregation_view) { + if (config.multitenancy.enabled) { try { tenant = await fetchCurrentTenant(coreStart.http); } catch (e) { console.log(e); } - } else { - tenant = accountInfo.user_requested_tenant; } let shouldShowTenantPopup = true; diff --git a/public/apps/configuration/utils/tenant-utils.tsx b/public/apps/configuration/utils/tenant-utils.tsx index 606ba2fa7..e7adfbe4d 100644 --- a/public/apps/configuration/utils/tenant-utils.tsx +++ b/public/apps/configuration/utils/tenant-utils.tsx @@ -43,6 +43,7 @@ export const PRIVATE_TENANT = '__user__'; export const DEFAULT_TENANT = 'default'; export const GLOBAL_TENANT_RENDERING_TEXT = 'Global'; export const PRIVATE_TENANT_RENDERING_TEXT = 'Private'; + export const GLOBAL_USER_DICT: { [key: string]: string } = { Label: 'Global', Value: GLOBAL_TENANT, diff --git a/server/saved_objects/saved_objects_wrapper.ts b/server/saved_objects/saved_objects_wrapper.ts index 64ffa6788..5b50f1f02 100644 --- a/server/saved_objects/saved_objects_wrapper.ts +++ b/server/saved_objects/saved_objects_wrapper.ts @@ -38,6 +38,7 @@ import { Config } from 'packages/osd-config/target'; import { SecurityPluginConfigType } from '..'; import { DEFAULT_TENANT, + globalTenantName, GLOBAL_TENANT, isPrivateTenant, PRIVATE_TENANT, @@ -95,17 +96,27 @@ export class SecuritySavedObjectsClientWrapper { availableTenantNames.push(GLOBAL_TENANT); } if (isPrivateEnabled) { - availableTenantNames.push(PRIVATE_TENANT + state.authInfo?.user_name); + availableTenantNames.push(PRIVATE_TENANT + username); } - const typeToNamespacesMap = {}; - if (selectedTenant === '__user__') { - namespaceValue = selectedTenant + username; + if (availableTenantNames.includes(globalTenantName)) { + let index = availableTenantNames.indexOf(globalTenantName); + if (index > -1) { + availableTenantNames.splice(index, 1); + } + index = availableTenantNames.indexOf(username!); + if (index > -1) { + availableTenantNames.splice(index, 1); + } + } + const typeToNamespacesMap: any = {}; + if (isPrivateTenant(selectedTenant!)) { + namespaceValue = selectedTenant! + username; } const searchTypes = Array.isArray(options.type) ? options.type : [options.type]; searchTypes.forEach((t) => { if (t === 'config') { if ('namespaces' in options) { - if (options.namespaces.includes(namespaceValue)) { + if (options.namespaces!.includes(namespaceValue!)) { typeToNamespacesMap[t] = [namespaceValue]; } } else { @@ -122,6 +133,7 @@ export class SecuritySavedObjectsClientWrapper { options.typeToNamespacesMap = new Map(Object.entries(typeToNamespacesMap)); options.type = ''; options.namespaces = []; + return await wrapperOptions.client.find(options); };