mirror of
https://github.com/fleetdm/fleet
synced 2026-05-24 09:28:54 +00:00
### Checklist for submitter - [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] Added/updated tests - [x] Manual QA for all new/changed functionality ### Summary This PR creates a pluralized activity log in the case where a user deletes multiple saved queries. I had considered updating the default template to better support pluralization, but when reviewing the various activity log types, I think queries are the only type that would benefit from this. So I chose the easier option here which felt less risky. cc @sharon-fdm as the currently assigned person on the issue (just trying to save y'all some cycles by contributing and slowly ramping up on the codebase 😄) ref: #15050 ### Test Plan I added a unit test for this. Additionally, I deleted multiple saved queries in my local installation. Here's the resulting log, showing the proper pluralization: <img width="1381" alt="Screenshot 2023-11-10 at 9 54 40 PM" src="https://github.com/fleetdm/fleet/assets/1317288/f40414e2-7a9b-4478-b6cf-bb9d4ab6d8f0">
100 lines
3.4 KiB
TypeScript
100 lines
3.4 KiB
TypeScript
import { IPolicy } from "./policy";
|
|
import { IQuery } from "./query";
|
|
import { ITeamSummary } from "./team";
|
|
import { UserRole } from "./user";
|
|
|
|
export enum ActivityType {
|
|
CreatedPack = "created_pack",
|
|
DeletedPack = "deleted_pack",
|
|
EditedPack = "edited_pack",
|
|
CreatedPolicy = "created_policy",
|
|
DeletedPolicy = "deleted_policy",
|
|
EditedPolicy = "edited_policy",
|
|
CreatedSavedQuery = "created_saved_query",
|
|
DeletedSavedQuery = "deleted_saved_query",
|
|
DeletedMultipleSavedQuery = "deleted_multiple_saved_query",
|
|
EditedSavedQuery = "edited_saved_query",
|
|
CreatedTeam = "created_team",
|
|
DeletedTeam = "deleted_team",
|
|
LiveQuery = "live_query",
|
|
AppliedSpecPack = "applied_spec_pack",
|
|
AppliedSpecPolicy = "applied_spec_policy",
|
|
AppliedSpecSavedQuery = "applied_spec_saved_query",
|
|
AppliedSpecTeam = "applied_spec_team",
|
|
EditedAgentOptions = "edited_agent_options",
|
|
UserAddedBySSO = "user_added_by_sso",
|
|
UserLoggedIn = "user_logged_in",
|
|
UserFailedLogin = "user_failed_login",
|
|
UserCreated = "created_user",
|
|
UserDeleted = "deleted_user",
|
|
UserChangedGlobalRole = "changed_user_global_role",
|
|
UserDeletedGlobalRole = "deleted_user_global_role",
|
|
UserChangedTeamRole = "changed_user_team_role",
|
|
UserDeletedTeamRole = "deleted_user_team_role",
|
|
MdmEnrolled = "mdm_enrolled",
|
|
MdmUnenrolled = "mdm_unenrolled",
|
|
EditedMacosMinVersion = "edited_macos_min_version",
|
|
ReadHostDiskEncryptionKey = "read_host_disk_encryption_key",
|
|
CreatedMacOSProfile = "created_macos_profile",
|
|
DeletedMacOSProfile = "deleted_macos_profile",
|
|
EditedMacOSProfile = "edited_macos_profile",
|
|
EnabledMacDiskEncryption = "enabled_macos_disk_encryption",
|
|
DisabledMacDiskEncryption = "disabled_macos_disk_encryption",
|
|
AddedBootstrapPackage = "added_bootstrap_package",
|
|
DeletedBootstrapPackage = "deleted_bootstrap_package",
|
|
ChangedMacOSSetupAssistant = "changed_macos_setup_assistant",
|
|
DeletedMacOSSetupAssistant = "deleted_macos_setup_assistant",
|
|
EnabledMacOSSetupEndUserAuth = "enabled_macos_setup_end_user_auth",
|
|
DisabledMacOSSetupEndUserAuth = "disabled_macos_setup_end_user_auth",
|
|
TransferredHosts = "transferred_hosts",
|
|
EnabledWindowsMdm = "enabled_windows_mdm",
|
|
DisabledWindowsMdm = "disabled_windows_mdm",
|
|
RanScript = "ran_script",
|
|
AddedScript = "added_script",
|
|
DeletedScript = "deleted_script",
|
|
EditedScript = "edited_script",
|
|
}
|
|
export interface IActivity {
|
|
created_at: string;
|
|
id: number;
|
|
actor_full_name: string;
|
|
actor_id: number;
|
|
actor_gravatar: string;
|
|
actor_email?: string;
|
|
type: ActivityType;
|
|
details?: IActivityDetails;
|
|
}
|
|
export interface IActivityDetails {
|
|
pack_id?: number;
|
|
pack_name?: string;
|
|
policy_id?: number;
|
|
policy_name?: string;
|
|
query_id?: number;
|
|
query_name?: string;
|
|
query_sql?: string;
|
|
query_ids?: number[];
|
|
team_id?: number | null;
|
|
team_name?: string | null;
|
|
teams?: ITeamSummary[];
|
|
targets_count?: number;
|
|
specs?: IQuery[] | IPolicy[];
|
|
global?: boolean;
|
|
public_ip?: string;
|
|
user_email?: string;
|
|
email?: string;
|
|
role?: UserRole;
|
|
host_serial?: string;
|
|
host_display_name?: string;
|
|
host_display_names?: string[];
|
|
host_ids?: number[];
|
|
installed_from_dep?: boolean;
|
|
mdm_platform?: "microsoft" | "apple";
|
|
minimum_version?: string;
|
|
deadline?: string;
|
|
profile_name?: string;
|
|
profile_identifier?: string;
|
|
bootstrap_package_name?: string;
|
|
name?: string;
|
|
script_execution_id?: string;
|
|
script_name?: string;
|
|
}
|