From 68c4e69a57e435ba5aba4a9c417744212fb99b97 Mon Sep 17 00:00:00 2001 From: Gabriel Hernandez Date: Wed, 1 Feb 2023 15:58:24 +0000 Subject: [PATCH] add min macos version edited activitiy (#9607) relates to https://github.com/fleetdm/fleet/issues/9352 adds an edited minimum mac os version activity to the UI **with team:** ![image](https://user-images.githubusercontent.com/1153709/216044501-3dc34a24-5a49-4fb5-8a83-6808eb79d9ce.png) **without team:** ![image](https://user-images.githubusercontent.com/1153709/216044543-aa0891c1-6bd4-4453-b646-dcd254fa418b.png) - [x] Changes file added for user-visible changes in `changes/` or `orbit/changes/`. See [Changes files](https://fleetdm.com/docs/contributing/committing-changes#changes-files) for more information. - [x] Manual QA for all new/changed functionality --- ...e-9352-add-min-macos-version-edit-activity | 1 + frontend/interfaces/activity.ts | 7 ++-- .../ActivityItem/ActivityItem.tsx | 32 +++++++++++++++++++ 3 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 changes/issue-9352-add-min-macos-version-edit-activity diff --git a/changes/issue-9352-add-min-macos-version-edit-activity b/changes/issue-9352-add-min-macos-version-edit-activity new file mode 100644 index 0000000000..077d96a067 --- /dev/null +++ b/changes/issue-9352-add-min-macos-version-edit-activity @@ -0,0 +1 @@ +- add edited min macos version activity diff --git a/frontend/interfaces/activity.ts b/frontend/interfaces/activity.ts index 7f1a1f1701..845e3bc19e 100644 --- a/frontend/interfaces/activity.ts +++ b/frontend/interfaces/activity.ts @@ -31,6 +31,7 @@ export enum ActivityType { UserDeletedTeamRole = "deleted_user_team_role", MdmEnrolled = "mdm_enrolled", MdmUnenrolled = "mdm_unenrolled", + EditedMacosMinVersion = "edited_macos_min_version", } export interface IActivity { created_at: string; @@ -50,8 +51,8 @@ export interface IActivityDetails { query_id?: number; query_name?: string; query_sql?: string; - team_id?: number; - team_name?: string; + team_id?: number | null; + team_name?: string | null; teams?: ITeamSummary[]; targets_count?: number; specs?: IQuery[] | IPolicy[]; @@ -63,4 +64,6 @@ export interface IActivityDetails { host_serial?: string; host_display_name?: string; installed_from_dep?: boolean; + minimum_version?: string; + deadline?: string; } diff --git a/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tsx b/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tsx index d9e16518d2..c16732c749 100644 --- a/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tsx +++ b/frontend/pages/DashboardPage/cards/ActivityFeed/ActivityItem/ActivityItem.tsx @@ -170,6 +170,35 @@ const TAGGED_TEMPLATES = { ); }, + editedMacosMinVersion: (activity: IActivity) => { + const editedActivity = + activity.details?.minimum_version === "" ? "removed" : "updated"; + + const versionSection = activity.details?.minimum_version ? ( + <> + to {activity.details.minimum_version} + + ) : null; + + const deadlineSection = activity.details?.deadline ? ( + <>(deadline: {activity.details.deadline}) + ) : null; + + const teamSection = activity.details?.team_id ? ( + <> + the {activity.details.team_name} team + + ) : ( + <>no team + ); + + return ( + <> + {editedActivity} the minimum macOS version {versionSection}{" "} + {deadlineSection} on hosts assigned to {teamSection}. + + ); + }, defaultActivityTemplate: (activity: IActivity) => { const entityName = find(activity.details, (_, key) => @@ -248,6 +277,9 @@ const getDetail = ( case ActivityType.MdmUnenrolled: { return TAGGED_TEMPLATES.mdmUnenrolled(activity); } + case ActivityType.EditedMacosMinVersion: { + return TAGGED_TEMPLATES.editedMacosMinVersion(activity); + } default: { return TAGGED_TEMPLATES.defaultActivityTemplate(activity); }