diff --git a/frontend/context/policy.tsx b/frontend/context/policy.tsx index 54f6e11f70..a519509280 100644 --- a/frontend/context/policy.tsx +++ b/frontend/context/policy.tsx @@ -19,10 +19,10 @@ type InitialStateType = { setLastEditedQueryName: (value: string) => void; setLastEditedQueryDescription: (value: string) => void; setLastEditedQueryBody: (value: string) => void; + setLastEditedQueryResolution: (value: string) => void; policyTeamId: number; setPolicyTeamId: (id: number) => void; selectedOsqueryTable: IOsqueryTable; - setLastEditedQueryResolution: (value: string) => void; setSelectedOsqueryTable: (tableName: string) => void; }; @@ -34,10 +34,10 @@ const initialState = { setLastEditedQueryName: () => null, setLastEditedQueryDescription: () => null, setLastEditedQueryBody: () => null, + setLastEditedQueryResolution: () => null, policyTeamId: 0, setPolicyTeamId: () => null, selectedOsqueryTable: find(osqueryTables, { name: "users" }), - setLastEditedQueryResolution: () => null, setSelectedOsqueryTable: () => null, }; @@ -112,17 +112,17 @@ const PolicyProvider = ({ children }: Props) => { lastEditedQueryBody, }); }, - policyTeamId: state.policyTeamId, - setPolicyTeamId: (id: number) => { - dispatch({ type: actions.SET_POLICY_TEAM_ID, id }); - }, - selectedOsqueryTable: state.selectedOsqueryTable, setLastEditedQueryResolution: (lastEditedQueryResolution: string) => { dispatch({ type: actions.SET_LAST_EDITED_QUERY_INFO, lastEditedQueryResolution, }); }, + policyTeamId: state.policyTeamId, + setPolicyTeamId: (id: number) => { + dispatch({ type: actions.SET_POLICY_TEAM_ID, id }); + }, + selectedOsqueryTable: state.selectedOsqueryTable, setSelectedOsqueryTable: (tableName: string) => { dispatch({ type: actions.SET_SELECTED_OSQUERY_TABLE, tableName }); }, diff --git a/frontend/pages/policies/PolicyPage/components/PolicyForm/PolicyForm.tsx b/frontend/pages/policies/PolicyPage/components/PolicyForm/PolicyForm.tsx index 3bd7768e03..68de2e68dd 100644 --- a/frontend/pages/policies/PolicyPage/components/PolicyForm/PolicyForm.tsx +++ b/frontend/pages/policies/PolicyPage/components/PolicyForm/PolicyForm.tsx @@ -179,6 +179,7 @@ const PolicyForm = ({ name: lastEditedQueryName, description: lastEditedQueryDescription, query: lastEditedQueryBody, + resolution: lastEditedQueryResolution, }); } diff --git a/frontend/pages/policies/PolicyPage/screens/QueryEditor.tsx b/frontend/pages/policies/PolicyPage/screens/QueryEditor.tsx index 07f40cf5a3..2faf396d26 100644 --- a/frontend/pages/policies/PolicyPage/screens/QueryEditor.tsx +++ b/frontend/pages/policies/PolicyPage/screens/QueryEditor.tsx @@ -54,6 +54,7 @@ const QueryEditor = ({ lastEditedQueryName, lastEditedQueryDescription, lastEditedQueryBody, + lastEditedQueryResolution, policyTeamId, } = useContext(PolicyContext); @@ -112,6 +113,7 @@ const QueryEditor = ({ lastEditedQueryName, lastEditedQueryDescription, lastEditedQueryBody, + lastEditedQueryResolution, }); const updateAPIRequest = () => { diff --git a/frontend/services/entities/team_policies.ts b/frontend/services/entities/team_policies.ts index a3eb70998d..dcea6acdd9 100644 --- a/frontend/services/entities/team_policies.ts +++ b/frontend/services/entities/team_policies.ts @@ -7,18 +7,18 @@ import { IPolicyFormData } from "interfaces/policy"; export default { // TODO: How does the frontend need to support legacy policies? create: (data: IPolicyFormData) => { - const { name, description, query, team_id } = data; + const { name, description, query, team_id, resolution } = data; const { TEAMS } = endpoints; const path = `${TEAMS}/${team_id}/policies`; - return sendRequest("POST", path, { name, description, query }); + return sendRequest("POST", path, { name, description, query, resolution }); }, update: (id: number, data: IPolicyFormData) => { - const { name, description, query, team_id } = data; + const { name, description, query, team_id, resolution } = data; const { TEAMS } = endpoints; const path = `${TEAMS}/${team_id}/policies/${id}`; - return sendRequest("PATCH", path, { name, description, query }); + return sendRequest("PATCH", path, { name, description, query, resolution }); }, destroy: (team_id: number, ids: number[]) => { const { TEAMS } = endpoints;