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); }