From 81e6dc5d8e0f8d36f15d2a153e8dae4b1975e70c Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Thu, 10 Feb 2022 15:55:03 -0500 Subject: [PATCH] Allow better typings for extending type of KubernetesCluster (#4843) --- src/common/catalog-entities/kubernetes-cluster.ts | 6 +++++- src/main/cluster-manager.ts | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/common/catalog-entities/kubernetes-cluster.ts b/src/common/catalog-entities/kubernetes-cluster.ts index 71cefe6bfc..88c414c166 100644 --- a/src/common/catalog-entities/kubernetes-cluster.ts +++ b/src/common/catalog-entities/kubernetes-cluster.ts @@ -58,7 +58,11 @@ export type KubernetesClusterStatusPhase = "connected" | "connecting" | "disconn export interface KubernetesClusterStatus extends CatalogEntityStatus { } -export class KubernetesCluster extends CatalogEntity { +export class KubernetesCluster< + Metadata extends KubernetesClusterMetadata = KubernetesClusterMetadata, + Status extends KubernetesClusterStatus = KubernetesClusterStatus, + Spec extends KubernetesClusterSpec = KubernetesClusterSpec, +> extends CatalogEntity { public static readonly apiVersion: string = "entity.k8slens.dev/v1alpha1"; public static readonly kind: string = "KubernetesCluster"; diff --git a/src/main/cluster-manager.ts b/src/main/cluster-manager.ts index d42a0c60a7..831a7624b5 100644 --- a/src/main/cluster-manager.ts +++ b/src/main/cluster-manager.ts @@ -48,7 +48,7 @@ export class ClusterManager extends Singleton { ); reaction( - () => catalogEntityRegistry.getItemsByEntityClass(KubernetesCluster), + () => catalogEntityRegistry.getItemsByEntityClass(KubernetesCluster) as KubernetesCluster[], entities => this.syncClustersFromCatalog(entities), );