Fix inherited policy counts (#8681)

This commit is contained in:
Luke Heath 2022-11-11 15:08:03 -06:00 committed by GitHub
parent d05ed9bcca
commit 8364b358b9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 8 deletions

View file

@ -50,6 +50,10 @@ export interface ILoadAllPoliciesResponse {
policies: IPolicyStats[];
}
export interface ILoadTeamPoliciesResponse {
policies: IPolicyStats[];
inherited_policies: IPolicyStats[];
}
export interface IPolicyFormData {
description?: string | number | boolean | undefined;
resolution?: string | number | boolean | undefined;

View file

@ -10,7 +10,12 @@ import { NotificationContext } from "context/notification";
import { IConfig, IWebhookSettings } from "interfaces/config";
import { IIntegrations } from "interfaces/integration";
import { IPolicyStats, ILoadAllPoliciesResponse } from "interfaces/policy";
import {
IPolicyStats,
ILoadAllPoliciesResponse,
ILoadTeamPoliciesResponse,
IPolicy,
} from "interfaces/policy";
import { ITeamConfig } from "interfaces/team";
import PATHS from "router/paths";
@ -87,6 +92,9 @@ const ManagePolicyPage = ({
const [showDeletePolicyModal, setShowDeletePolicyModal] = useState(false);
const [showInheritedPolicies, setShowInheritedPolicies] = useState(false);
const [teamPolicies, setTeamPolicies] = useState<IPolicyStats[]>();
const [inheritedPolicies, setInheritedPolicies] = useState<IPolicyStats[]>();
useEffect(() => {
setLastEditedQueryPlatform(null);
}, []);
@ -110,16 +118,18 @@ const ManagePolicyPage = ({
);
const {
data: teamPolicies,
error: teamPoliciesError,
isFetching: isFetchingTeamPolicies,
refetch: refetchTeamPolicies,
} = useQuery<ILoadAllPoliciesResponse, Error, IPolicyStats[]>(
} = useQuery<ILoadTeamPoliciesResponse, Error, ILoadTeamPoliciesResponse>(
["teamPolicies", teamId],
() => teamPoliciesAPI.loadAll(teamId),
{
enabled: !!availableTeams && isPremiumTier && !!teamId,
select: (data) => data.policies,
onSuccess: (data) => {
setTeamPolicies(data.policies);
setInheritedPolicies(data.inherited_policies);
},
staleTime: 5000,
}
);
@ -475,8 +485,8 @@ const ManagePolicyPage = ({
<Spinner />
) : (
<PoliciesTable
isLoading={isFetchingGlobalPolicies}
policiesList={globalPolicies || []}
isLoading={isFetchingTeamPolicies}
policiesList={inheritedPolicies || []}
onDeletePolicyClick={noop}
canAddOrDeletePolicy={canAddOrDeletePolicy}
tableType="inheritedPolicies"

View file

@ -1,7 +1,7 @@
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
import sendRequest from "services";
import endpoints from "utilities/endpoints";
import { ILoadAllPoliciesResponse, IPolicyFormData } from "interfaces/policy";
import { ILoadTeamPoliciesResponse, IPolicyFormData } from "interfaces/policy";
export default {
create: (data: IPolicyFormData) => {
@ -42,7 +42,7 @@ export default {
return sendRequest("GET", path);
},
loadAll: (team_id?: number): Promise<ILoadAllPoliciesResponse> => {
loadAll: (team_id?: number): Promise<ILoadTeamPoliciesResponse> => {
const { TEAMS } = endpoints;
const path = `${TEAMS}/${team_id}/policies`;
if (!team_id) {