mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-11-08 20:33:41 +00:00
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com>
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { getIssuesOverview } from "@/actions/issues";
|
|
import { IssuesLoadError } from "@/components/issues/issues-load-error";
|
|
import { Card } from "@/components/shadcn/card/card";
|
|
import { pickIssueScope } from "@/lib/issues/scope";
|
|
import { verdictCounts } from "@/lib/issues/verdicts";
|
|
|
|
import { SSRComponentProps } from "../_types";
|
|
|
|
import { ExploitabilityChart } from "./_components/exploitability-chart";
|
|
|
|
export const ExploitabilityChartSSR = async ({
|
|
searchParams,
|
|
}: SSRComponentProps) => {
|
|
const filters = pickIssueScope(searchParams);
|
|
const summary = await getIssuesOverview({ filters });
|
|
|
|
const attributes = summary?.data?.attributes;
|
|
if (!attributes) {
|
|
return (
|
|
<Card variant="base" className="min-h-[372px] w-full lg:max-w-[312px]">
|
|
<IssuesLoadError message="Failed to load exploitability." />
|
|
</Card>
|
|
);
|
|
}
|
|
|
|
return (
|
|
<ExploitabilityChart
|
|
counts={verdictCounts(attributes)}
|
|
issues={attributes.issues ?? 0}
|
|
findings={attributes.findings ?? 0}
|
|
actionable={attributes.actionable ?? 0}
|
|
coveredFindings={attributes.not_exploitable_findings ?? 0}
|
|
scope={filters}
|
|
/>
|
|
);
|
|
};
|