fleet/frontend/interfaces/pack.ts
Martavis Parker 3575d34507
Refactor Redux-triggered flash message component (#4795)
* base logic to handle rendering a notification without redux

* removed dispatches for new flash mesage triggers

* query page wrapper is no longer needed

* refactored confirm invite page to remove redux

* refactored email token redirect to functional and typescript

* refactored pack composer page to functional and typescript

* clean up

* lint fixes

* tests no longer needed

* fixed confirm sso invite test

* test fix

* fixed test

* fixed tests

* removed redux from flash on rebased pages
2022-03-31 23:42:26 -07:00

52 lines
1.2 KiB
TypeScript

import PropTypes from "prop-types";
import { IHost } from "./host";
import { ILabel } from "./label";
import { ITeam } from "./team";
import { ITarget } from "./target";
export default PropTypes.shape({
created_at: PropTypes.string,
updated_at: PropTypes.string,
id: PropTypes.number,
name: PropTypes.string,
description: PropTypes.string,
type: PropTypes.string,
disabled: PropTypes.bool,
query_count: PropTypes.number,
total_host_count: PropTypes.number,
host_ids: PropTypes.arrayOf(PropTypes.number),
label_ids: PropTypes.arrayOf(PropTypes.number),
team_ids: PropTypes.arrayOf(PropTypes.number),
});
export interface IPack {
created_at: string;
updated_at: string;
id: number;
name: string;
description: string;
type: string;
disabled?: boolean;
query_count: number;
total_hosts_count: number;
hosts: IHost[];
host_ids: number[];
labels: ILabel[];
label_ids: number[];
teams: ITeam[];
team_ids: number[];
}
export interface IUpdatePack {
name?: string;
description?: string;
disabled?: boolean;
targets?: ITarget[];
}
export interface IEditPackFormData {
name: string;
description: string;
targets: ITarget[];
}