mirror of
https://github.com/fleetdm/fleet
synced 2026-05-23 08:58:41 +00:00
Call real API (#15589)
Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
This commit is contained in:
parent
f1acd30bcf
commit
5bea0c5cb9
3 changed files with 32 additions and 386 deletions
|
|
@ -239,96 +239,6 @@ const HostDetailsPage = ({
|
|||
mdm?.enrollment_status !== null && refetchMdm();
|
||||
};
|
||||
|
||||
// TODO - remove dummy schedule
|
||||
const dummySchedule: IQueryStats[] = [
|
||||
{
|
||||
scheduled_query_name: "cached query 1 - Never reported",
|
||||
query_name: "query 1",
|
||||
description: "should render 'Never' ",
|
||||
discard_data: false,
|
||||
last_fetched: null,
|
||||
automations_enabled: false,
|
||||
interval: 1000,
|
||||
scheduled_query_id: 1,
|
||||
|
||||
pack_id: 1,
|
||||
pack_name: "Team: 💻 Workstations",
|
||||
average_memory: 435814,
|
||||
denylisted: false,
|
||||
executions: 5,
|
||||
last_executed: "2023-11-29T15:20:02Z",
|
||||
output_size: 1204,
|
||||
system_time: 9,
|
||||
user_time: 3,
|
||||
wall_time: 0,
|
||||
},
|
||||
{
|
||||
scheduled_query_name: "cached query 2 - stored results",
|
||||
description: "should render with row clickable to its report",
|
||||
discard_data: false,
|
||||
query_name: "query 2",
|
||||
last_fetched: "2023-11-29T15:20:02Z",
|
||||
automations_enabled: false,
|
||||
interval: 1000,
|
||||
scheduled_query_id: 2,
|
||||
|
||||
pack_id: 1,
|
||||
pack_name: "Team: 💻 Workstations",
|
||||
average_memory: 435814,
|
||||
denylisted: false,
|
||||
executions: 5,
|
||||
last_executed: "2023-11-29T15:20:02Z",
|
||||
output_size: 1204,
|
||||
system_time: 9,
|
||||
user_time: 3,
|
||||
wall_time: 0,
|
||||
},
|
||||
{
|
||||
scheduled_query_name:
|
||||
"cached query 3 - sending results to a log destination, not storing in Fleet",
|
||||
description: "should render '---', not link to report",
|
||||
interval: 1000,
|
||||
discard_data: true,
|
||||
automations_enabled: true,
|
||||
query_name: "query 3",
|
||||
last_fetched: null,
|
||||
scheduled_query_id: 3,
|
||||
|
||||
pack_id: 1,
|
||||
pack_name: "Team: 💻 Workstations",
|
||||
average_memory: 435814,
|
||||
denylisted: false,
|
||||
executions: 5,
|
||||
last_executed: "2023-11-29T15:20:02Z",
|
||||
output_size: 1204,
|
||||
system_time: 9,
|
||||
user_time: 3,
|
||||
wall_time: 0,
|
||||
},
|
||||
{
|
||||
scheduled_query_name:
|
||||
"cached query 4 - stored results, but no current interval",
|
||||
description: "should render with row clickable to its report",
|
||||
discard_data: false,
|
||||
query_name: "query 4",
|
||||
last_fetched: "2023-11-29T15:20:02Z",
|
||||
automations_enabled: false,
|
||||
interval: 0,
|
||||
scheduled_query_id: 4,
|
||||
|
||||
pack_id: 1,
|
||||
pack_name: "Team: 💻 Workstations",
|
||||
average_memory: 435814,
|
||||
denylisted: false,
|
||||
executions: 5,
|
||||
last_executed: "2023-11-29T15:20:02Z",
|
||||
output_size: 1204,
|
||||
system_time: 9,
|
||||
user_time: 3,
|
||||
wall_time: 0,
|
||||
},
|
||||
];
|
||||
|
||||
const {
|
||||
isLoading: isLoadingHost,
|
||||
data: host,
|
||||
|
|
@ -391,8 +301,7 @@ const HostDetailsPage = ({
|
|||
}
|
||||
setHostSoftware(returnedHost.software || []);
|
||||
setUsersState(returnedHost.users || []);
|
||||
// TODO – remove dummy data
|
||||
setSchedule(dummySchedule);
|
||||
setSchedule(schedule);
|
||||
if (returnedHost.pack_stats) {
|
||||
const packStatsByType = returnedHost.pack_stats.reduce(
|
||||
(
|
||||
|
|
@ -411,9 +320,7 @@ const HostDetailsPage = ({
|
|||
},
|
||||
{ packs: [], schedule: [] }
|
||||
);
|
||||
// TODO - restore real data
|
||||
// setSchedule(packStatsByType.schedule);
|
||||
setPacksState(packStatsByType.packs);
|
||||
setSchedule(packStatsByType.schedule);
|
||||
}
|
||||
},
|
||||
onError: (error) => handlePageError(error),
|
||||
|
|
|
|||
|
|
@ -37,292 +37,34 @@ const HostQueryReport = ({
|
|||
|
||||
const [showQuery, setShowQuery] = useState(false);
|
||||
|
||||
// TODO - remove dummy data, restore API call
|
||||
const [[hqrResponse, queryResponse], hqrLoading, hqrError] = [
|
||||
// // render report
|
||||
// [
|
||||
// {
|
||||
// host_name: "Haley's Macbook Air",
|
||||
// report_clipped: false,
|
||||
// last_fetched: "2021-01-01T00:00:00.000Z",
|
||||
// results: [
|
||||
// {
|
||||
// columns: {
|
||||
// username: "user1",
|
||||
// email: "e@mail",
|
||||
// ausername: "user1",
|
||||
// aemail: "e@mail",
|
||||
// aausername: "user1",
|
||||
// aaemail: "e@mail",
|
||||
// aaausername: "user1",
|
||||
// aaaemail: "e@mail",
|
||||
// aaaausername: "user1",
|
||||
// aaaaemail: "e@mail",
|
||||
// aaaaausername: "user1",
|
||||
// aaaaaemail: "e@mail",
|
||||
// aaaaaausername: "user1",
|
||||
// aaaaaaemail: "e@mail",
|
||||
// aaaaaaausername: "user1",
|
||||
// aaaaaaaemail: "e@mail",
|
||||
// aaaaaaaausername: "user1",
|
||||
// aaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// },
|
||||
// },
|
||||
// {
|
||||
// columns: {
|
||||
// username: "zser1",
|
||||
// email: "e@mail",
|
||||
// ausername: "user1",
|
||||
// aemail: "e@mail",
|
||||
// aausername: "user1",
|
||||
// aaemail: "e@mail",
|
||||
// aaausername: "user1",
|
||||
// aaaemail: "e@mail",
|
||||
// aaaausername: "user1",
|
||||
// aaaaemail: "e@mail",
|
||||
// aaaaausername: "user1",
|
||||
// aaaaaemail: "e@mail",
|
||||
// aaaaaausername: "user1",
|
||||
// aaaaaaemail: "e@mail",
|
||||
// aaaaaaausername: "user1",
|
||||
// aaaaaaaemail: "e@mail",
|
||||
// aaaaaaaausername: "user1",
|
||||
// aaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// },
|
||||
// },
|
||||
// {
|
||||
// columns: {
|
||||
// username: "aser1",
|
||||
// email: "e@mail",
|
||||
// ausername: "user1",
|
||||
// aemail: "e@mail",
|
||||
// aausername: "user1",
|
||||
// aaemail: "e@mail",
|
||||
// aaausername: "user1",
|
||||
// aaaemail: "e@mail",
|
||||
// aaaausername: "user1",
|
||||
// aaaaemail: "e@mail",
|
||||
// aaaaausername: "user1",
|
||||
// aaaaaemail: "e@mail",
|
||||
// aaaaaausername: "user1",
|
||||
// aaaaaaemail: "e@mail",
|
||||
// aaaaaaausername: "user1",
|
||||
// aaaaaaaemail: "e@mail",
|
||||
// aaaaaaaausername: "user1",
|
||||
// aaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// aaaaaaaaaaaaaaaaaaaaaaausername: "user1",
|
||||
// aaaaaaaaaaaaaaaaaaaaaaaemail: "e@mail",
|
||||
// },
|
||||
// },
|
||||
// ],
|
||||
// },
|
||||
// {
|
||||
// name: "Test Query",
|
||||
// description: "A great query",
|
||||
// query: "SELECT * FROM users",
|
||||
// discard_data: false,
|
||||
// interval: 20,
|
||||
// },
|
||||
// ],
|
||||
const {
|
||||
data: hqrResponse,
|
||||
isLoading: hqrLoading,
|
||||
error: hqrError,
|
||||
} = useQuery<IGetHQRResponse, Error>(
|
||||
[hostId, queryId],
|
||||
() => hqrAPI.load(hostId, queryId),
|
||||
{
|
||||
refetchOnMount: false,
|
||||
refetchOnReconnect: false,
|
||||
refetchOnWindowFocus: false,
|
||||
}
|
||||
);
|
||||
|
||||
// collecting results (A)
|
||||
[
|
||||
{
|
||||
host_name: "Haley's Macbook Air",
|
||||
report_clipped: false,
|
||||
last_fetched: null,
|
||||
results: [],
|
||||
},
|
||||
{
|
||||
name: "Test Query",
|
||||
description: "a great query",
|
||||
query: "SELECT * FROM users",
|
||||
discard_data: false,
|
||||
inverval: 20,
|
||||
},
|
||||
],
|
||||
|
||||
// // nothing to report (B)
|
||||
// [
|
||||
// {
|
||||
// host_name: "Haley's Macbook Air",
|
||||
// report_clipped: false,
|
||||
// last_fetched: "2021-01-01T00:00:00.000Z",
|
||||
// results: [],
|
||||
// },
|
||||
// {
|
||||
// name: "Test Query",
|
||||
// description: "a great query",
|
||||
// query: "SELECT * FROM users",
|
||||
// discard_data: false,
|
||||
// inverval: 20,
|
||||
// },
|
||||
// ],
|
||||
|
||||
// // report clipped (C)
|
||||
// [
|
||||
// {
|
||||
// host_name: "Haley's Macbook Air",
|
||||
// report_clipped: true,
|
||||
// last_fetched: "2021-01-01T00:00:00.000Z",
|
||||
// results: [],
|
||||
// },
|
||||
// {
|
||||
// name: "Test Query",
|
||||
// description: "a great query",
|
||||
// query: "SELECT * FROM users",
|
||||
// interval: 20,
|
||||
// discard_data: false,
|
||||
// },
|
||||
// ],
|
||||
|
||||
// // reroute (local setting)
|
||||
// [
|
||||
// {
|
||||
// host_name: "Haley's Macbook Air",
|
||||
// report_clipped: false,
|
||||
// last_fetched: "2021-01-01T00:00:00.000Z",
|
||||
// results: [
|
||||
// {
|
||||
// columns: {
|
||||
// username: "user1",
|
||||
// email: "e@mail",
|
||||
// },
|
||||
// },
|
||||
// ],
|
||||
// },
|
||||
// {
|
||||
// name: 'Test Query',
|
||||
// description: "a great query",
|
||||
// query: "SELECT * FROM users",
|
||||
// discard_data: true,
|
||||
// inverval: 20,
|
||||
// },
|
||||
// ],
|
||||
|
||||
false,
|
||||
null,
|
||||
];
|
||||
|
||||
// const {
|
||||
// data: hqrResponse,
|
||||
// isLoading: hqrLoading,
|
||||
// error: hqrError,
|
||||
// } = useQuery<IGetHQRResponse, Error>(
|
||||
// [hostId, queryId],
|
||||
// () => hqrAPI.load(hostId, queryId),
|
||||
// {
|
||||
// refetchOnMount: false,
|
||||
// refetchOnReconnect: false,
|
||||
// refetchOnWindowFocus: false,
|
||||
// }
|
||||
// );
|
||||
|
||||
// const {
|
||||
// isLoading: queryLoading,
|
||||
// data: queryResponse,
|
||||
// error: queryError,
|
||||
// } = useQuery<IGetQueryResponse, Error, ISchedulableQuery>(
|
||||
// ["query", queryId],
|
||||
// () => queryAPI.load(queryId),
|
||||
// {
|
||||
// enabled: !!queryId,
|
||||
// refetchOnMount: false,
|
||||
// refetchOnReconnect: false,
|
||||
// refetchOnWindowFocus: false,
|
||||
// }
|
||||
// );
|
||||
|
||||
// TODO - remove mock loading state
|
||||
const queryLoading = false;
|
||||
const {
|
||||
isLoading: queryLoading,
|
||||
data: queryResponse,
|
||||
error: queryError,
|
||||
} = useQuery<ISchedulableQuery, Error, ISchedulableQuery>(
|
||||
["query", queryId],
|
||||
() => queryAPI.load(queryId),
|
||||
{
|
||||
enabled: !!queryId,
|
||||
refetchOnMount: false,
|
||||
refetchOnReconnect: false,
|
||||
refetchOnWindowFocus: false,
|
||||
}
|
||||
);
|
||||
|
||||
const isLoading = queryLoading || hqrLoading;
|
||||
|
||||
|
|
@ -331,8 +73,7 @@ const HostQueryReport = ({
|
|||
report_clipped: reportClipped,
|
||||
last_fetched: lastFetched,
|
||||
results,
|
||||
// TODO - remove below casting, just for testing
|
||||
} = (hqrResponse || {}) as Partial<IGetHQRResponse>;
|
||||
} = hqrResponse || {};
|
||||
|
||||
// API response is nested this way to mirror that of the full Query Reports response (IQueryReport)
|
||||
const rows = results?.map((row) => row.columns) ?? [];
|
||||
|
|
@ -342,7 +83,7 @@ const HostQueryReport = ({
|
|||
description: queryDescription,
|
||||
query: querySQL,
|
||||
discard_data: queryDiscardData,
|
||||
} = (queryResponse || {}) as Partial<ISchedulableQuery>;
|
||||
} = queryResponse || {};
|
||||
|
||||
// TODO - finalize local setting reroute conditions
|
||||
// previous reroute can be done before API call, not this one, hence 2
|
||||
|
|
|
|||
|
|
@ -74,9 +74,7 @@ const HostQueries = ({
|
|||
if (!hostId || !queryId || !should_link_to_hqr || queryReportsDisabled) {
|
||||
return;
|
||||
}
|
||||
// TODO - restore real hostId
|
||||
router.push(`${PATHS.HOST_QUERY_REPORT(82, queryId)}`);
|
||||
// router.push(`${PATHS.HOST_QUERY_REPORT(hostId, queryId)}`);
|
||||
router.push(`${PATHS.HOST_QUERY_REPORT(hostId, queryId)}`);
|
||||
},
|
||||
[hostId, queryReportsDisabled, router]
|
||||
);
|
||||
|
|
|
|||
Loading…
Reference in a new issue