From 08225ed6bbf5939ed2c53123e2dc9ead94455f80 Mon Sep 17 00:00:00 2001 From: gillespi314 <73313222+gillespi314@users.noreply.github.com> Date: Wed, 13 Oct 2021 10:30:29 -0500 Subject: [PATCH] Remove extra query params from host count API call (#2502) --- frontend/services/entities/host_count.ts | 38 ++++++++++-------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/frontend/services/entities/host_count.ts b/frontend/services/entities/host_count.ts index 219d1676c7..b575e8219e 100644 --- a/frontend/services/entities/host_count.ts +++ b/frontend/services/entities/host_count.ts @@ -1,7 +1,6 @@ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ import sendRequest from "services"; import endpoints from "fleet/endpoints"; -import { IHost } from "interfaces/host"; export interface ISortOption { key: string; @@ -11,7 +10,6 @@ export interface ISortOption { export interface IHostCountLoadOptions { page?: number; perPage?: number; - sortBy?: ISortOption[]; status?: string; globalFilter?: string; teamId?: number; @@ -24,26 +22,12 @@ export default { // hostCount.load share similar variables and parameters with hosts.loadAll load: (options: IHostCountLoadOptions | undefined) => { const { HOSTS_COUNT } = endpoints; - const sortBy = options?.sortBy || []; const globalFilter = options?.globalFilter || ""; const teamId = options?.teamId || null; const policyId = options?.policyId || null; const policyResponse = options?.policyResponse || null; const selectedLabels = options?.selectedLabels || []; - let orderKeyParam = ""; - let orderDirection = ""; - if (sortBy.length !== 0) { - const sortItem = sortBy[0]; - orderKeyParam += `order_key=${sortItem.key}`; - orderDirection = `&order_direction=${sortItem.direction}`; - } - - let searchQuery = ""; - if (globalFilter !== "") { - searchQuery = `&query=${globalFilter}`; - } - const labelPrefix = "labels/"; // Handle multiple filters @@ -55,25 +39,35 @@ export default { status === "offline" || status === "mia"; - let path = `${HOSTS_COUNT}?${orderKeyParam}${orderDirection}${searchQuery}`; + let queryString = ""; + + if (globalFilter !== "") { + queryString += `&query=${globalFilter}`; + } if (status && isValidStatus) { - path += `&status=${status}`; + queryString += `&status=${status}`; } if (label) { - path += `&label_id=${parseInt(label.substr(labelPrefix.length), 10)}`; + queryString += `&label_id=${parseInt( + label.substr(labelPrefix.length), + 10 + )}`; } if (teamId) { - path += `&team_id=${teamId}`; + queryString += `&team_id=${teamId}`; } if (!label && policyId) { - path += `&policy_id=${policyId}`; - path += `&policy_response=${policyResponse || "passing"}`; // TODO confirm whether there should be a default if there is an id but no response specified + queryString += `&policy_id=${policyId}`; + queryString += `&policy_response=${policyResponse || "passing"}`; // TODO confirm whether there should be a default if there is an id but no response specified } + // Append query string to endpoint route after slicing off the leading ampersand + const path = `${HOSTS_COUNT}${queryString && `?${queryString.slice(1)}`}`; + return sendRequest("GET", path); }, };