mirror of
https://github.com/fleetdm/fleet
synced 2026-05-24 09:28:54 +00:00
Fix inherited policy counts (#8681)
This commit is contained in:
parent
d05ed9bcca
commit
8364b358b9
3 changed files with 22 additions and 8 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue