From 536e9bbd319c4dd341e6e68fee4340ea7ab5d3dd Mon Sep 17 00:00:00 2001 From: Jim Ehrismann Date: Fri, 26 Nov 2021 18:12:30 -0500 Subject: [PATCH] Add a query param for filtering port forwards by clusterId Signed-off-by: Jim Ehrismann --- src/main/routes/port-forward-route.ts | 11 +++++++++-- src/renderer/port-forward/port-forward.store.ts | 9 ++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/main/routes/port-forward-route.ts b/src/main/routes/port-forward-route.ts index fe425df48d..6392c70ed9 100644 --- a/src/main/routes/port-forward-route.ts +++ b/src/main/routes/port-forward-route.ts @@ -189,9 +189,10 @@ export class PortForwardRoute { } static async routeAllPortForwards(request: LensApiRequest) { - const { response } = request; + const { query, response } = request; + const clusterId = query.get("clusterId"); - const portForwards: PortForwardArgs[] = PortForward.portForwards.map(f => ( + let portForwards: PortForwardArgs[] = PortForward.portForwards.map(f => ( { clusterId: f.clusterId, kind: f.kind, @@ -203,6 +204,12 @@ export class PortForwardRoute { }), ); + if (clusterId) { + // filter out any not for this cluster + portForwards = portForwards.filter(pf => pf.clusterId == clusterId); + + } + respondJson(response, { portForwards }); } diff --git a/src/renderer/port-forward/port-forward.store.ts b/src/renderer/port-forward/port-forward.store.ts index 8a8d7c6e62..caf2d1001e 100644 --- a/src/renderer/port-forward/port-forward.store.ts +++ b/src/renderer/port-forward/port-forward.store.ts @@ -60,10 +60,8 @@ export class PortForwardStore extends ItemStore { loadAll() { return this.loadItems(async () => { - let portForwards = await getPortForwards(); + const portForwards = await getPortForwards(getHostedClusterId()); - // filter out any not for this cluster - portForwards = portForwards.filter(pf => pf.clusterId == getHostedClusterId()); this.storage.set(portForwards); this.reset(); @@ -166,9 +164,10 @@ export async function removePortForward(portForward: ForwardedPort) { portForwardStore.reset(); } -export async function getPortForwards(): Promise { +export async function getPortForwards(clusterId?: string): Promise { try { - const response = await apiBase.get(`/pods/port-forwards`); + const query = clusterId ? `?clusterId=${clusterId}` : ""; + const response = await apiBase.get(`/pods/port-forwards${query}`); return response.portForwards; } catch (error) {