mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
ensure the start url is the workloads overview when the cluster overview is not available due to rbac restrictions (#5488)
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
This commit is contained in:
parent
c62333f334
commit
07e9456874
@ -4,8 +4,6 @@
|
|||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
import type { KubeResource } from "../../../common/rbac";
|
|
||||||
import isAllowedResourceInjectable from "../../../common/utils/is-allowed-resource.injectable";
|
|
||||||
import clusterOverviewRouteInjectable from "../../../common/front-end-routing/routes/cluster/overview/cluster-overview-route.injectable";
|
import clusterOverviewRouteInjectable from "../../../common/front-end-routing/routes/cluster/overview/cluster-overview-route.injectable";
|
||||||
import workloadsOverviewRouteInjectable from "../../../common/front-end-routing/routes/cluster/workloads/overview/workloads-overview-route.injectable";
|
import workloadsOverviewRouteInjectable from "../../../common/front-end-routing/routes/cluster/workloads/overview/workloads-overview-route.injectable";
|
||||||
import { buildURL } from "../../../common/utils/buildUrl";
|
import { buildURL } from "../../../common/utils/buildUrl";
|
||||||
@ -14,17 +12,13 @@ const startUrlInjectable = getInjectable({
|
|||||||
id: "start-url",
|
id: "start-url",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
const isAllowedResource = (resourceName: any) => di.inject(isAllowedResourceInjectable, resourceName);
|
|
||||||
|
|
||||||
const clusterOverviewRoute = di.inject(clusterOverviewRouteInjectable);
|
const clusterOverviewRoute = di.inject(clusterOverviewRouteInjectable);
|
||||||
const workloadOverviewRoute = di.inject(workloadsOverviewRouteInjectable);
|
const workloadOverviewRoute = di.inject(workloadsOverviewRouteInjectable);
|
||||||
const clusterOverviewUrl = buildURL(clusterOverviewRoute.path);
|
const clusterOverviewUrl = buildURL(clusterOverviewRoute.path);
|
||||||
const workloadOverviewUrl = buildURL(workloadOverviewRoute.path);
|
const workloadOverviewUrl = buildURL(workloadOverviewRoute.path);
|
||||||
|
|
||||||
return computed(() => {
|
return computed(() => {
|
||||||
const resources: KubeResource[] = ["events", "nodes", "pods"];
|
return clusterOverviewRoute.isEnabled.get()
|
||||||
|
|
||||||
return resources.every((resourceName) => isAllowedResource(resourceName))
|
|
||||||
? clusterOverviewUrl
|
? clusterOverviewUrl
|
||||||
: workloadOverviewUrl;
|
: workloadOverviewUrl;
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user