From 444e161f548939859f7b43daeec97ae72bf6ae83 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Fri, 3 Dec 2021 08:59:02 -0500 Subject: [PATCH] Revert breaking change Signed-off-by: Sebastian Malton --- src/common/k8s-api/kube-api.ts | 4 ++-- .../components/+custom-resources/crd.store.ts | 17 ++++++++--------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/common/k8s-api/kube-api.ts b/src/common/k8s-api/kube-api.ts index a25986bb5b..0f31758ab2 100644 --- a/src/common/k8s-api/kube-api.ts +++ b/src/common/k8s-api/kube-api.ts @@ -289,9 +289,9 @@ export class KubeApi { protected resourceVersions = new Map(); protected watchDisposer: () => void; private watchId = 1; - protected options: Pick, "apiBase" | "checkPreferredVersion" | "fallbackApiBases">; - constructor({ objectConstructor, request, kind, isNamespaced, ...options }: IKubeApiOptions) { + constructor(protected options: IKubeApiOptions) { + const { objectConstructor, request, kind, isNamespaced } = options; const { apiBase, apiPrefix, apiGroup, apiVersion, resource } = parseKubeApi(options.apiBase || objectConstructor.apiBase); this.options = options; diff --git a/src/renderer/components/+custom-resources/crd.store.ts b/src/renderer/components/+custom-resources/crd.store.ts index 83c8b5cdb6..404dd16eac 100644 --- a/src/renderer/components/+custom-resources/crd.store.ts +++ b/src/renderer/components/+custom-resources/crd.store.ts @@ -29,15 +29,14 @@ import { CRDResourceStore } from "./crd-resource.store"; import { KubeObject } from "../../../common/k8s-api/kube-object"; function initStore(crd: CustomResourceDefinition) { - const apiBase = crd.getResourceApiBase(); - const kind = crd.getResourceKind(); - const isNamespaced = crd.isNamespaced(); - const api = apiManager.getApi(apiBase) ?? new KubeApi({ - objectConstructor: KubeObject, - apiBase, - kind, - isNamespaced, - }); + const objectConstructor = class extends KubeObject { + readonly kind = crd.getResourceKind(); + readonly namespaced = crd.isNamespaced(); + readonly apiBase = crd.getResourceApiBase(); + }; + + const api = apiManager.getApi(objectConstructor.apiBase) + ?? new KubeApi({ objectConstructor }); if (!apiManager.getStore(api)) { apiManager.registerStore(new CRDResourceStore(api));