fleet/frontend/services/entities/global_scheduled_queries.ts
2022-03-10 10:10:44 -05:00

59 lines
1.5 KiB
TypeScript

/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
import sendRequest from "services";
import endpoints from "fleet/endpoints";
import { IEditScheduledQuery } from "interfaces/scheduled_query";
import helpers from "fleet/helpers";
export default {
create: (formData: any) => {
const { GLOBAL_SCHEDULE } = endpoints;
const {
interval,
logging_type: loggingType,
platform,
query_id: queryID,
shard,
version,
} = formData;
const removed = loggingType === "differential";
const snapshot = loggingType === "snapshot";
const params = {
interval: Number(interval),
platform,
query_id: Number(queryID),
removed,
snapshot,
shard: Number(shard),
version,
};
return sendRequest("POST", GLOBAL_SCHEDULE, params);
},
destroy: ({ id }: { id: number }) => {
const { GLOBAL_SCHEDULE } = endpoints;
const path = `${GLOBAL_SCHEDULE}/${id}`;
return sendRequest("DELETE", path);
},
loadAll: () => {
const { GLOBAL_SCHEDULE } = endpoints;
const path = GLOBAL_SCHEDULE;
return sendRequest("GET", path);
},
update: (
globalScheduledQuery: IEditScheduledQuery,
updatedAttributes: any
) => {
const { GLOBAL_SCHEDULE } = endpoints;
const path = `${GLOBAL_SCHEDULE}/${globalScheduledQuery.id}`;
const params = helpers.formatScheduledQueryForServer(updatedAttributes);
return sendRequest("PATCH", path, params);
},
};