mirror of
https://github.com/fleetdm/fleet
synced 2026-05-14 20:48:35 +00:00
28 lines
948 B
JavaScript
28 lines
948 B
JavaScript
import { push } from "react-router-redux";
|
|
import { join, omit, values } from "lodash";
|
|
|
|
import PATHS from "router/paths";
|
|
import queryActions from "redux/nodes/entities/queries/actions";
|
|
import { renderFlash } from "redux/nodes/notifications/actions";
|
|
|
|
export const fetchQuery = (dispatch, queryID) => {
|
|
return dispatch(queryActions.load(queryID)).catch((errors) => {
|
|
const { MANAGE_QUERIES } = PATHS;
|
|
let errorMessage = join(values(omit(errors, "http_status")), ", ");
|
|
|
|
if (errorMessage.includes("no rows in result set")) {
|
|
errorMessage = "The query you requested does not exist in Fleet.";
|
|
}
|
|
|
|
// LEGACY CODE - I had to do this to preserve the Redux pattern :-( MP 1/25/22
|
|
if (errorMessage.includes("was not found in the datastore")) {
|
|
dispatch(push("/404"));
|
|
return;
|
|
}
|
|
|
|
dispatch(push(MANAGE_QUERIES));
|
|
dispatch(renderFlash("error", errorMessage));
|
|
});
|
|
};
|
|
|
|
export default { fetchQuery };
|