mirror of
https://github.com/fleetdm/fleet
synced 2026-05-24 09:28:54 +00:00
relates to #18847 This adds the global and host activities for self service activities. This also updates the Upcoming host activities to follow the same pattern as the Host Past activities. - [x] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://fleetdm.com/docs/contributing/committing-changes#changes-files) for more information. - [x] Added/updated tests - [x] Manual QA for all new/changed functionality
98 lines
2.2 KiB
TypeScript
98 lines
2.2 KiB
TypeScript
import endpoints from "utilities/endpoints";
|
|
import {
|
|
IActivity,
|
|
IHostPastActivity,
|
|
IHostUpcomingActivity,
|
|
} from "interfaces/activity";
|
|
import sendRequest from "services";
|
|
import { buildQueryStringFromParams } from "utilities/url";
|
|
|
|
const DEFAULT_PAGE = 0;
|
|
const DEFAULT_PAGE_SIZE = 8;
|
|
const ORDER_KEY = "created_at";
|
|
const ORDER_DIRECTION = "desc";
|
|
|
|
export interface IActivitiesResponse {
|
|
activities: IActivity[] | null;
|
|
meta: {
|
|
has_next_results: boolean;
|
|
has_previous_results: boolean;
|
|
};
|
|
}
|
|
|
|
export interface IHostPastActivitiesResponse {
|
|
activities: IHostPastActivity[] | null;
|
|
meta: {
|
|
has_next_results: boolean;
|
|
has_previous_results: boolean;
|
|
};
|
|
}
|
|
|
|
export interface IHostUpcomingActivitiesResponse {
|
|
count: number;
|
|
activities: IHostUpcomingActivity[] | null;
|
|
meta: {
|
|
has_next_results: boolean;
|
|
has_previous_results: boolean;
|
|
};
|
|
}
|
|
|
|
export default {
|
|
loadNext: (
|
|
page = DEFAULT_PAGE,
|
|
perPage = DEFAULT_PAGE_SIZE
|
|
): Promise<IActivitiesResponse> => {
|
|
const { ACTIVITIES } = endpoints;
|
|
|
|
const queryParams = {
|
|
page,
|
|
per_page: perPage,
|
|
order_key: ORDER_KEY,
|
|
order_direction: ORDER_DIRECTION,
|
|
};
|
|
|
|
const queryString = buildQueryStringFromParams(queryParams);
|
|
|
|
const path = `${ACTIVITIES}?${queryString}`;
|
|
|
|
return sendRequest("GET", path);
|
|
},
|
|
|
|
getHostPastActivities: (
|
|
id: number,
|
|
page = DEFAULT_PAGE,
|
|
perPage = DEFAULT_PAGE_SIZE
|
|
): Promise<IHostPastActivitiesResponse> => {
|
|
const { HOST_PAST_ACTIVITIES } = endpoints;
|
|
|
|
const queryParams = {
|
|
page,
|
|
per_page: perPage,
|
|
};
|
|
|
|
const queryString = buildQueryStringFromParams(queryParams);
|
|
|
|
const path = `${HOST_PAST_ACTIVITIES(id)}?${queryString}`;
|
|
|
|
return sendRequest("GET", path);
|
|
},
|
|
|
|
getHostUpcomingActivities: (
|
|
id: number,
|
|
page = DEFAULT_PAGE,
|
|
perPage = DEFAULT_PAGE_SIZE
|
|
): Promise<IHostUpcomingActivitiesResponse> => {
|
|
const { HOST_UPCOMING_ACTIVITIES } = endpoints;
|
|
|
|
const queryParams = {
|
|
page,
|
|
per_page: perPage,
|
|
};
|
|
|
|
const queryString = buildQueryStringFromParams(queryParams);
|
|
|
|
const path = `${HOST_UPCOMING_ACTIVITIES(id)}?${queryString}`;
|
|
|
|
return sendRequest("GET", path);
|
|
},
|
|
};
|