[unreleased bugs] Vuln details page: missing cards, incorrect link (#17495)

This commit is contained in:
RachelElysia
2024-03-08 10:53:02 -05:00
committed by GitHub
parent ed5191cf8a
commit 75e280e090
7 changed files with 20 additions and 16 deletions
+6 -2
View File
@@ -17,6 +17,10 @@ const DEFAULT_VULNERABILITY: IVulnerability = {
cve_description:
"Microsoft Windows Support Diagnostic Tool (MSDT) Remote Code Execution Vulnerability.", // Available in Fleet Premium
resolved_in_version: "", // Available in Fleet Premium
};
const DEFAULT_VULNERABILITY_DETAILS: IVulnerabilityResponse = {
vulnerability: DEFAULT_VULNERABILITY,
os_versions: [
{
os_version_id: 1,
@@ -130,9 +134,9 @@ const DEFAULT_VULNERABILITIES_RESPONSE: IVulnerabilitiesResponse = {
};
export const createMockVulnerabilityResponse = (
overrides?: Partial<IVulnerability>
overrides?: Partial<IVulnerabilityResponse>
): IVulnerabilityResponse => {
return { vulnerability: { ...DEFAULT_VULNERABILITY, ...overrides } };
return { ...DEFAULT_VULNERABILITY_DETAILS, ...overrides };
};
// eslint-disable-next-line import/prefer-default-export
-2
View File
@@ -19,6 +19,4 @@ export interface IVulnerability {
cve_published?: string | null; // premium
cve_description?: string; // premium
resolved_in_version?: string; // premium
os_versions: IVulnerabilityOSVersion[];
software: IVulnerabilitySoftware[];
}
@@ -5,7 +5,7 @@ import React, { useCallback, useMemo } from "react";
import { InjectedRouter } from "react-router";
import PATHS from "router/paths";
import { IVulnerability } from "interfaces/vulnerability";
import { IVulnerabilityResponse } from "services/entities/vulnerabilities";
import { buildQueryStringFromParams } from "utilities/url";
import Card from "components/Card";
import TableContainer from "components/TableContainer";
@@ -15,7 +15,7 @@ import generateColumnConfigs from "./SwVulnOSTableConfig";
const baseClass = "software-vuln-os-versions";
interface ISoftwareVulnOSVersions {
osVersions: IVulnerability["os_versions"];
osVersions: IVulnerabilityResponse["os_versions"];
isPremiumTier: boolean;
router: InjectedRouter;
teamIdForApi?: number;
@@ -4,7 +4,7 @@ import React, { useCallback, useMemo } from "react";
import { InjectedRouter } from "react-router";
import { IVulnerability } from "interfaces/vulnerability";
import { IVulnerabilityResponse } from "services/entities/vulnerabilities";
import PATHS from "router/paths";
import { buildQueryStringFromParams } from "utilities/url";
@@ -17,7 +17,7 @@ import generateColumnConfigs from "./SwVulnSwTableConfig";
const baseClass = "software-vuln-software-versions";
interface ISoftwareVulnSoftwareVersions {
vulnSoftware: IVulnerability["software"];
vulnSoftware: IVulnerabilityResponse["software"];
isPremiumTier: boolean;
router: InjectedRouter;
teamIdForApi?: number;
@@ -45,7 +45,7 @@ const SoftwareVulnSummary = ({
<CustomLink url={details_link} text="Visit NVD page" newTab />
<ViewAllHostsLink
customText="View affected hosts"
queryParams={{ cve, team_id: teamIdForApi }}
queryParams={{ vulnerability: cve, team_id: teamIdForApi }}
/>
</span>
</span>
@@ -10,7 +10,6 @@ import useTeamIdParam from "hooks/useTeamIdParam";
import { AppContext } from "context/app";
import { IVulnerability } from "interfaces/vulnerability";
import softwareVulnAPI, {
IGetVulnerabilityQueryKey,
IVulnerabilityResponse,
@@ -29,7 +28,7 @@ import DetailsNoHosts from "../components/DetailsNoHosts";
const baseClass = "software-vulnerability-details-page";
interface ISoftwareVulnerabilityDetailsRouteParams {
vulnerability: string;
cve: string;
team_id?: string;
}
@@ -65,13 +64,13 @@ const SoftwareVulnerabilityDetailsPage = ({
} = useQuery<
IVulnerabilityResponse,
AxiosError,
IVulnerability,
IVulnerabilityResponse,
IGetVulnerabilityQueryKey[]
>(
[
{
scope: "softwareVulnByCVE",
vulnerability: routeParams.vulnerability,
vulnerability: routeParams.cve,
teamId: teamIdForApi,
},
],
@@ -79,7 +78,6 @@ const SoftwareVulnerabilityDetailsPage = ({
return softwareVulnAPI.getVulnerability(queryKey[0]);
},
{
select: (data) => data.vulnerability,
onError: (error) => {
if (!ignoreAxiosError(error, [403, 404])) {
handlePageError(error);
@@ -95,10 +93,10 @@ const SoftwareVulnerabilityDetailsPage = ({
[handleTeamChange]
);
const renderCards = (v: IVulnerability) => (
const renderCards = (v: IVulnerabilityResponse) => (
<>
<SoftwareVulnSummary
vuln={v}
vuln={v.vulnerability}
isPremiumTier={isPremiumTier ?? false}
teamIdForApi={teamIdForApi}
/>
@@ -3,6 +3,8 @@ import sendRequest from "services";
import endpoints from "utilities/endpoints";
import { IVulnerability } from "interfaces/vulnerability";
import { buildQueryStringFromParams } from "utilities/url";
import { IVulnerabilityOSVersion } from "interfaces/operating_system";
import { IVulnerabilitySoftware } from "interfaces/software";
export interface IGetVulnerabilitiesQueryParams {
teamId?: number;
@@ -40,6 +42,8 @@ export interface IVulnerabilitiesResponse {
export interface IVulnerabilityResponse {
vulnerability: IVulnerability;
os_versions: IVulnerabilityOSVersion[];
software: IVulnerabilitySoftware[];
}
export const getVulnerabilities = ({