From b3477a437e8b8cb4ec17f48058fceefe3952e17d Mon Sep 17 00:00:00 2001 From: Alex Andreev Date: Mon, 3 Apr 2023 15:55:30 +0300 Subject: [PATCH] Using parseKubeApi instead of new utility Signed-off-by: Alex Andreev --- ...try-white-list-for-functions.injectable.ts | 12 ++--- .../get-workload-kind-from-url.test.ts | 50 ------------------- .../get-workload-kind-from-url.ts | 14 ------ 3 files changed, 6 insertions(+), 70 deletions(-) delete mode 100644 packages/core/src/renderer/components/kube-detail-params/get-workload-kind-from-url.test.ts delete mode 100644 packages/core/src/renderer/components/kube-detail-params/get-workload-kind-from-url.ts diff --git a/packages/core/src/features/telemetry/renderer/telemetry-white-list-for-functions.injectable.ts b/packages/core/src/features/telemetry/renderer/telemetry-white-list-for-functions.injectable.ts index 91422b7a77..1c40274672 100644 --- a/packages/core/src/features/telemetry/renderer/telemetry-white-list-for-functions.injectable.ts +++ b/packages/core/src/features/telemetry/renderer/telemetry-white-list-for-functions.injectable.ts @@ -4,9 +4,7 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import type { AppEvent } from "../../../common/app-event-bus/event-bus"; -import { - getWorkloadKindFromUrl, -} from "../../../renderer/components/kube-detail-params/get-workload-kind-from-url"; +import { parseKubeApi } from "../../../common/k8s-api/kube-api-parse"; const navigateTo = [ "navigate-to-preference-tab-id", @@ -96,9 +94,11 @@ const externalActions = ["open-link-in-browser"]; const uiInteraction = [{ id: "show-details", - getParams: (selfLink: unknown) => ({ - kind: getWorkloadKindFromUrl(selfLink as string), - }), + getParams: (selfLink: unknown) => { + return { + kind: parseKubeApi(selfLink as string).resource, + }; + }, }]; const terminal = ["create-terminal-tab"]; diff --git a/packages/core/src/renderer/components/kube-detail-params/get-workload-kind-from-url.test.ts b/packages/core/src/renderer/components/kube-detail-params/get-workload-kind-from-url.test.ts deleted file mode 100644 index 2fd3997e92..0000000000 --- a/packages/core/src/renderer/components/kube-detail-params/get-workload-kind-from-url.test.ts +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -import { getWorkloadKindFromUrl } from "./get-workload-kind-from-url"; - -describe("getWorkloadKindFromUrl", () => { - it('returns "endpoints" for "/api/v1/namespaces/default/endpoints/kubernetes"', () => { - const str = "/api/v1/namespaces/default/endpoints/kubernetes"; - const lastSegment = getWorkloadKindFromUrl(str); - - expect(lastSegment).toEqual("endpoints"); - }); - - it('returns "namespaces" for "/api/v1/namespaces/acme-org"', () => { - const str = "/api/v1/namespaces/acme-org"; - const lastSegment = getWorkloadKindFromUrl(str); - - expect(lastSegment).toEqual("namespaces"); - }); - - it('returns "bar" for "/foo/bar/"', () => { - const str = "/foo/bar/"; - const lastSegment = getWorkloadKindFromUrl(str); - - expect(lastSegment).toEqual("bar"); - }); - - it('returns null for ""', () => { - const str = ""; - const lastSegment = getWorkloadKindFromUrl(str); - - expect(lastSegment).toBeNull(); - }); - - it('returns null for "/"', () => { - const str = "/"; - const lastSegment = getWorkloadKindFromUrl(str); - - expect(lastSegment).toBeNull(); - }); - - it('returns null for "invalidurl"', () => { - const str = "invalidurl"; - const lastSegment = getWorkloadKindFromUrl(str); - - expect(lastSegment).toBeNull(); - }); -}); diff --git a/packages/core/src/renderer/components/kube-detail-params/get-workload-kind-from-url.ts b/packages/core/src/renderer/components/kube-detail-params/get-workload-kind-from-url.ts deleted file mode 100644 index 8d34af96db..0000000000 --- a/packages/core/src/renderer/components/kube-detail-params/get-workload-kind-from-url.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ -export function getWorkloadKindFromUrl(url: string) { - return getLastSegment(url); -} - -function getLastSegment(url: string) { - const regex = /\/([^/]*)\/[^/]*$/; - const result = regex.exec(url); - - return result ? result[1] : null; -}