From dbc04cfebeb1543345ae5e3368024a0ad940eb0b Mon Sep 17 00:00:00 2001 From: Vishal Date: Wed, 16 Jul 2025 10:17:03 +0530 Subject: [PATCH] use consts for audit events (#33433) --- server/channels/api4/access_control.go | 10 +- server/channels/api4/audit_logging.go | 4 +- server/channels/api4/bleve.go | 2 +- server/channels/api4/bot.go | 10 +- server/channels/api4/brand.go | 4 +- server/channels/api4/channel.go | 34 +- server/channels/api4/channel_bookmark.go | 8 +- server/channels/api4/channel_category.go | 10 +- server/channels/api4/channel_local.go | 16 +- server/channels/api4/command.go | 12 +- server/channels/api4/command_local.go | 2 +- server/channels/api4/compliance.go | 8 +- server/channels/api4/config.go | 8 +- server/channels/api4/config_local.go | 10 +- .../api4/custom_profile_attributes.go | 8 +- server/channels/api4/data_retention.go | 14 +- server/channels/api4/elasticsearch.go | 2 +- server/channels/api4/emoji.go | 4 +- server/channels/api4/export.go | 4 +- server/channels/api4/file.go | 10 +- server/channels/api4/group.go | 18 +- server/channels/api4/import.go | 2 +- server/channels/api4/ip_filtering.go | 2 +- server/channels/api4/job.go | 6 +- server/channels/api4/ldap.go | 18 +- server/channels/api4/license.go | 6 +- server/channels/api4/license_local.go | 4 +- server/channels/api4/oauth.go | 8 +- .../api4/outgoing_oauth_connection.go | 8 +- server/channels/api4/plugin.go | 16 +- server/channels/api4/post.go | 16 +- server/channels/api4/post_local.go | 2 +- server/channels/api4/preference.go | 4 +- server/channels/api4/remote_cluster.go | 18 +- server/channels/api4/role.go | 2 +- server/channels/api4/saml.go | 12 +- server/channels/api4/scheduled_post.go | 6 +- server/channels/api4/scheme.go | 6 +- server/channels/api4/shared_channel.go | 4 +- server/channels/api4/system.go | 28 +- server/channels/api4/system_local.go | 2 +- server/channels/api4/team.go | 40 +- server/channels/api4/team_local.go | 6 +- server/channels/api4/terms_of_service.go | 2 +- server/channels/api4/upload.go | 4 +- server/channels/api4/user.go | 82 ++-- server/channels/api4/user_local.go | 4 +- server/channels/api4/webhook.go | 18 +- server/channels/api4/webhook_local.go | 4 +- server/channels/app/session.go | 2 +- server/channels/web/oauth.go | 16 +- server/channels/web/saml.go | 2 +- server/cmd/mattermost/commands/export.go | 4 +- server/cmd/mattermost/commands/import.go | 4 +- server/cmd/mattermost/commands/jobserver.go | 2 +- server/public/model/audit_events.go | 429 ++++++++++++++++++ 56 files changed, 708 insertions(+), 279 deletions(-) create mode 100644 server/public/model/audit_events.go diff --git a/server/channels/api4/access_control.go b/server/channels/api4/access_control.go index 336d0226604..838362f580a 100644 --- a/server/channels/api4/access_control.go +++ b/server/channels/api4/access_control.go @@ -41,7 +41,7 @@ func createAccessControlPolicy(c *Context, w http.ResponseWriter, r *http.Reques return } - auditRec := c.MakeAuditRecord("createAccessControlPolicy", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateAccessControlPolicy, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "requested", &policy) @@ -112,7 +112,7 @@ func deleteAccessControlPolicy(c *Context, w http.ResponseWriter, r *http.Reques } policyID := c.Params.PolicyId - auditRec := c.MakeAuditRecord("deleteAccessControlPolicy", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteAccessControlPolicy, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "id", policyID) @@ -245,7 +245,7 @@ func updateActiveStatus(c *Context, w http.ResponseWriter, r *http.Request) { policyID := c.Params.PolicyId - auditRec := c.MakeAuditRecord("updateActiveStatus", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateActiveStatus, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "id", policyID) @@ -292,7 +292,7 @@ func assignAccessPolicy(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("assignAccessPolicy", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAssignAccessPolicy, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "id", policyID) model.AddEventParameterToAuditRec(auditRec, "channel_ids", assignments.ChannelIds) @@ -324,7 +324,7 @@ func unassignAccessPolicy(c *Context, w http.ResponseWriter, r *http.Request) { ChannelIds []string `json:"channel_ids"` } - auditRec := c.MakeAuditRecord("unassignAccessPolicy", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUnassignAccessPolicy, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "id", policyID) model.AddEventParameterToAuditRec(auditRec, "channel_ids", assignments.ChannelIds) diff --git a/server/channels/api4/audit_logging.go b/server/channels/api4/audit_logging.go index 9272aad2e50..0dc2ca4c187 100644 --- a/server/channels/api4/audit_logging.go +++ b/server/channels/api4/audit_logging.go @@ -49,7 +49,7 @@ func addAuditLogCertificate(c *Context, w http.ResponseWriter, r *http.Request) return } - auditRec := c.MakeAuditRecord("addAuditLogCertificate", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAddAuditLogCertificate, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "filename", fileData.Filename) @@ -70,7 +70,7 @@ func removeAuditLogCertificate(c *Context, w http.ResponseWriter, r *http.Reques return } - auditRec := c.MakeAuditRecord("removeAuditLogCertificate", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRemoveAuditLogCertificate, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if err := c.App.RemoveAuditLogCertificate(c.AppContext); err != nil { diff --git a/server/channels/api4/bleve.go b/server/channels/api4/bleve.go index 34d223f27af..f7700dd17cb 100644 --- a/server/channels/api4/bleve.go +++ b/server/channels/api4/bleve.go @@ -14,7 +14,7 @@ func (api *API) InitBleve() { } func purgeBleveIndexes(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("purgeBleveIndexes", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventPurgeBleveIndexes, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionToAndNotRestrictedAdmin(*c.AppContext.Session(), model.PermissionPurgeBleveIndexes) { diff --git a/server/channels/api4/bot.go b/server/channels/api4/bot.go index e111ff402aa..9ff145cba28 100644 --- a/server/channels/api4/bot.go +++ b/server/channels/api4/bot.go @@ -36,7 +36,7 @@ func createBot(c *Context, w http.ResponseWriter, r *http.Request) { } bot.Patch(botPatch) - auditRec := c.MakeAuditRecord("createBot", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateBot, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "bot", bot) @@ -87,7 +87,7 @@ func patchBot(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("patchBot", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventPatchBot, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "id", botUserId) model.AddEventParameterAuditableToAuditRec(auditRec, "bot", botPatch) @@ -205,7 +205,7 @@ func updateBotActive(c *Context, w http.ResponseWriter, active bool) { } botUserId := c.Params.BotUserId - auditRec := c.MakeAuditRecord("updateBotActive", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateBotActive, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "id", botUserId) model.AddEventParameterToAuditRec(auditRec, "enable", active) @@ -239,7 +239,7 @@ func assignBot(c *Context, w http.ResponseWriter, _ *http.Request) { botUserId := c.Params.BotUserId userId := c.Params.UserId - auditRec := c.MakeAuditRecord("assignBot", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAssignBot, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "id", botUserId) model.AddEventParameterToAuditRec(auditRec, "user_id", userId) @@ -292,7 +292,7 @@ func convertBotToUser(c *Context, w http.ResponseWriter, r *http.Request) { systemAdmin, _ := strconv.ParseBool(r.URL.Query().Get("set_system_admin")) - auditRec := c.MakeAuditRecord("convertBotToUser", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventConvertBotToUser, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "bot", bot) model.AddEventParameterAuditableToAuditRec(auditRec, "user_patch", &userPatch) diff --git a/server/channels/api4/brand.go b/server/channels/api4/brand.go index c45e8f1f109..4837f663118 100644 --- a/server/channels/api4/brand.go +++ b/server/channels/api4/brand.go @@ -65,7 +65,7 @@ func uploadBrandImage(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("uploadBrandImage", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUploadBrandImage, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionTo(*c.AppContext.Session(), model.PermissionEditBrand) { @@ -86,7 +86,7 @@ func uploadBrandImage(c *Context, w http.ResponseWriter, r *http.Request) { } func deleteBrandImage(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("deleteBrandImage", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteBrandImage, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionTo(*c.AppContext.Session(), model.PermissionEditBrand) { diff --git a/server/channels/api4/channel.go b/server/channels/api4/channel.go index f6bf2053dde..1443b153605 100644 --- a/server/channels/api4/channel.go +++ b/server/channels/api4/channel.go @@ -102,7 +102,7 @@ func createChannel(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("createChannel", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateChannel, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "channel", channel) @@ -152,7 +152,7 @@ func updateChannel(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updateChannel", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateChannel, model.AuditStatusFail) model.AddEventParameterAuditableToAuditRec(auditRec, "channel", channel) defer c.LogAuditRec(auditRec) @@ -257,7 +257,7 @@ func updateChannelPrivacy(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updateChannelPrivacy", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateChannelPrivacy, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "channel_id", c.Params.ChannelId) defer c.LogAuditRec(auditRec) @@ -336,7 +336,7 @@ func patchChannel(c *Context, w http.ResponseWriter, r *http.Request) { } oldChannel := originalOldChannel.DeepCopy() - auditRec := c.MakeAuditRecord("patchChannel", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventPatchChannel, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "channel", patch) auditRec.AddEventPriorState(oldChannel) @@ -428,7 +428,7 @@ func restoreChannel(c *Context, w http.ResponseWriter, r *http.Request) { } teamId := channel.TeamId - auditRec := c.MakeAuditRecord("restoreChannel", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRestoreChannel, model.AuditStatusFail) defer c.LogAuditRec(auditRec) auditRec.AddEventPriorState(channel) @@ -482,7 +482,7 @@ func createDirectChannel(c *Context, w http.ResponseWriter, r *http.Request) { } } - auditRec := c.MakeAuditRecord("createDirectChannel", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateDirectChannel, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "user_ids", userIds) defer c.LogAuditRec(auditRec) @@ -574,7 +574,7 @@ func createGroupChannel(c *Context, w http.ResponseWriter, r *http.Request) { userIds = append(userIds, c.AppContext.Session().UserId) } - auditRec := c.MakeAuditRecord("createGroupChannel", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateGroupChannel, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "user_ids", userIds) defer c.LogAuditRec(auditRec) @@ -1373,7 +1373,7 @@ func deleteChannel(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("deleteChannel", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteChannel, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "id", c.Params.ChannelId) auditRec.AddEventPriorState(channel) defer c.LogAuditRec(auditRec) @@ -1710,7 +1710,7 @@ func updateChannelMemberRoles(c *Context, w http.ResponseWriter, r *http.Request return } - auditRec := c.MakeAuditRecord("updateChannelMemberRoles", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateChannelMemberRoles, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "props", props) model.AddEventParameterToAuditRec(auditRec, "channel_id", c.Params.ChannelId) @@ -1742,7 +1742,7 @@ func updateChannelMemberSchemeRoles(c *Context, w http.ResponseWriter, r *http.R return } - auditRec := c.MakeAuditRecord("updateChannelMemberSchemeRoles", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateChannelMemberSchemeRoles, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "channel_id", c.Params.ChannelId) model.AddEventParameterAuditableToAuditRec(auditRec, "roles", &schemeRoles) @@ -1774,7 +1774,7 @@ func updateChannelMemberNotifyProps(c *Context, w http.ResponseWriter, r *http.R return } - auditRec := c.MakeAuditRecord("updateChannelMemberNotifyProps", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateChannelMemberNotifyProps, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "channel_id", c.Params.ChannelId) model.AddEventParameterToAuditRec(auditRec, "props", props) @@ -1911,7 +1911,7 @@ func addChannelMember(c *Context, w http.ResponseWriter, r *http.Request) { continue } - auditRec := c.MakeAuditRecord("addChannelMember", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAddChannelMember, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "user_id", userId) model.AddEventParameterToAuditRec(auditRec, "channel_id", c.Params.ChannelId) @@ -2002,7 +2002,7 @@ func removeChannelMember(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("removeChannelMember", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRemoveChannelMember, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "channel_id", c.Params.ChannelId) model.AddEventParameterToAuditRec(auditRec, "user_id", c.Params.UserId) @@ -2058,7 +2058,7 @@ func updateChannelScheme(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updateChannelScheme", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateChannelScheme, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "channel_id", c.Params.ChannelId) defer c.LogAuditRec(auditRec) @@ -2253,7 +2253,7 @@ func patchChannelModerations(c *Context, w http.ResponseWriter, r *http.Request) return } - auditRec := c.MakeAuditRecord("patchChannelModerations", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventPatchChannelModerations, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionTo(*c.AppContext.Session(), model.PermissionSysconsoleWriteUserManagementChannels) { @@ -2325,7 +2325,7 @@ func moveChannel(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("moveChannel", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventMoveChannel, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "channel_id", c.Params.ChannelId) model.AddEventParameterToAuditRec(auditRec, "team_id", teamId) @@ -2450,7 +2450,7 @@ func convertGroupMessageToChannel(c *Context, w http.ResponseWriter, r *http.Req return } - auditRec := c.MakeAuditRecord("convertGroupMessageToChannel", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventConvertGroupMessageToChannel, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "channel_id", gmConversionRequest.ChannelID) model.AddEventParameterToAuditRec(auditRec, "team_id", gmConversionRequest.TeamID) diff --git a/server/channels/api4/channel_bookmark.go b/server/channels/api4/channel_bookmark.go index 3203d98266d..70ce125d8e9 100644 --- a/server/channels/api4/channel_bookmark.go +++ b/server/channels/api4/channel_bookmark.go @@ -53,7 +53,7 @@ func createChannelBookmark(c *Context, w http.ResponseWriter, r *http.Request) { } channelBookmark.ChannelId = c.Params.ChannelId - auditRec := c.MakeAuditRecord("createChannelBookmark", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateChannelBookmark, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "channelBookmark", channelBookmark) @@ -135,7 +135,7 @@ func updateChannelBookmark(c *Context, w http.ResponseWriter, r *http.Request) { return } patchedBookmark := originalChannelBookmark.Clone() - auditRec := c.MakeAuditRecord("updateChannelBookmark", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateChannelBookmark, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "channelBookmark", patch) @@ -235,7 +235,7 @@ func updateChannelBookmarkSortOrder(c *Context, w http.ResponseWriter, r *http.R return } - auditRec := c.MakeAuditRecord("updateChannelBookmarkSortOrder", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateChannelBookmarkSortOrder, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "id", c.Params.ChannelBookmarkId) @@ -320,7 +320,7 @@ func deleteChannelBookmark(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("deleteChannelBookmark", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteChannelBookmark, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "id", c.Params.ChannelBookmarkId) diff --git a/server/channels/api4/channel_category.go b/server/channels/api4/channel_category.go index 988614caa59..e13fd9cf066 100644 --- a/server/channels/api4/channel_category.go +++ b/server/channels/api4/channel_category.go @@ -60,7 +60,7 @@ func createCategoryForTeamForUser(c *Context, w http.ResponseWriter, r *http.Req return } - auditRec := c.MakeAuditRecord("createCategoryForTeamForUser", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateCategoryForTeamForUser, model.AuditStatusFail) defer c.LogAuditRec(auditRec) var categoryCreateRequest model.SidebarCategoryWithChannels @@ -138,7 +138,7 @@ func updateCategoryOrderForTeamForUser(c *Context, w http.ResponseWriter, r *htt return } - auditRec := c.MakeAuditRecord("updateCategoryOrderForTeamForUser", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateCategoryOrderForTeamForUser, model.AuditStatusFail) defer c.LogAuditRec(auditRec) categoryOrder, err := model.NonSortedArrayFromJSON(r.Body) @@ -216,7 +216,7 @@ func updateCategoriesForTeamForUser(c *Context, w http.ResponseWriter, r *http.R return } - auditRec := c.MakeAuditRecord("updateCategoriesForTeamForUser", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateCategoriesForTeamForUser, model.AuditStatusFail) defer c.LogAuditRec(auditRec) var categoriesUpdateRequest []*model.SidebarCategoryWithChannels @@ -330,7 +330,7 @@ func updateCategoryForTeamForUser(c *Context, w http.ResponseWriter, r *http.Req return } - auditRec := c.MakeAuditRecord("updateCategoryForTeamForUser", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateCategoryForTeamForUser, model.AuditStatusFail) defer c.LogAuditRec(auditRec) var categoryUpdateRequest model.SidebarCategoryWithChannels @@ -381,7 +381,7 @@ func deleteCategoryForTeamForUser(c *Context, w http.ResponseWriter, r *http.Req return } - auditRec := c.MakeAuditRecord("deleteCategoryForTeamForUser", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteCategoryForTeamForUser, model.AuditStatusFail) defer c.LogAuditRec(auditRec) appErr := c.App.DeleteSidebarCategory(c.AppContext, c.Params.UserId, c.Params.TeamId, c.Params.CategoryId) diff --git a/server/channels/api4/channel_local.go b/server/channels/api4/channel_local.go index a3b176777bc..d8cdb4f738f 100644 --- a/server/channels/api4/channel_local.go +++ b/server/channels/api4/channel_local.go @@ -44,7 +44,7 @@ func localCreateChannel(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("localCreateChannel", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalCreateChannel, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "channel", channel) @@ -84,7 +84,7 @@ func localUpdateChannelPrivacy(c *Context, w http.ResponseWriter, r *http.Reques return } - auditRec := c.MakeAuditRecord("localUpdateChannelPrivacy", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalUpdateChannelPrivacy, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "privacy", privacy) @@ -122,7 +122,7 @@ func localRestoreChannel(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("localRestoreChannel", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalRestoreChannel, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "channel_id", c.Params.ChannelId) @@ -148,7 +148,7 @@ func localAddChannelMember(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("localAddChannelMember", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalAddChannelMember, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "channel_id", c.Params.ChannelId) defer c.LogAuditRec(auditRec) @@ -263,7 +263,7 @@ func localRemoveChannelMember(c *Context, w http.ResponseWriter, r *http.Request return } - auditRec := c.MakeAuditRecord("localRemoveChannelMember", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalRemoveChannelMember, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "channel_id", c.Params.ChannelId) model.AddEventParameterToAuditRec(auditRec, "remove_user_id", c.Params.UserId) @@ -299,7 +299,7 @@ func localPatchChannel(c *Context, w http.ResponseWriter, r *http.Request) { } channel := originalOldChannel.DeepCopy() - auditRec := c.MakeAuditRecord("localPatchChannel", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalPatchChannel, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "channel_patch", patch) @@ -357,7 +357,7 @@ func localMoveChannel(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("localMoveChannel", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalMoveChannel, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "team_id", teamId) model.AddEventParameterToAuditRec(auditRec, "force", force) @@ -416,7 +416,7 @@ func localDeleteChannel(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("localDeleteChannel", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalDeleteChannel, model.AuditStatusFail) defer c.LogAuditRec(auditRec) auditRec.AddEventPriorState(channel) model.AddEventParameterToAuditRec(auditRec, "channel_id", c.Params.ChannelId) diff --git a/server/channels/api4/command.go b/server/channels/api4/command.go index 3b0e57a491b..dde1cc127de 100644 --- a/server/channels/api4/command.go +++ b/server/channels/api4/command.go @@ -35,7 +35,7 @@ func createCommand(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("createCommand", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateCommand, model.AuditStatusFail) model.AddEventParameterAuditableToAuditRec(auditRec, "command", &cmd) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") @@ -76,7 +76,7 @@ func updateCommand(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updateCommand", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateCommand, model.AuditStatusFail) model.AddEventParameterAuditableToAuditRec(auditRec, "command", &cmd) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") @@ -136,7 +136,7 @@ func moveCommand(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("moveCommand", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventMoveCommand, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "command_move_request", cmr.TeamId) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") @@ -188,7 +188,7 @@ func deleteCommand(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("deleteCommand", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteCommand, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "command_id", c.Params.CommandId) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") @@ -318,7 +318,7 @@ func executeCommand(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("executeCommand", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventExecuteCommand, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "command_args", &commandArgs) @@ -449,7 +449,7 @@ func regenCommandToken(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("regenCommandToken", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRegenCommandToken, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") diff --git a/server/channels/api4/command_local.go b/server/channels/api4/command_local.go index d06cfbf6a25..c9f4332d7f6 100644 --- a/server/channels/api4/command_local.go +++ b/server/channels/api4/command_local.go @@ -28,7 +28,7 @@ func localCreateCommand(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("localCreateCommand", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalCreateCommand, model.AuditStatusFail) model.AddEventParameterAuditableToAuditRec(auditRec, "command", &cmd) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") diff --git a/server/channels/api4/compliance.go b/server/channels/api4/compliance.go index 273a098f843..0577396570c 100644 --- a/server/channels/api4/compliance.go +++ b/server/channels/api4/compliance.go @@ -28,7 +28,7 @@ func createComplianceReport(c *Context, w http.ResponseWriter, r *http.Request) return } - auditRec := c.MakeAuditRecord("createComplianceReport", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateComplianceReport, model.AuditStatusFail) model.AddEventParameterAuditableToAuditRec(auditRec, "compliance", &job) defer c.LogAuditRec(auditRec) @@ -64,7 +64,7 @@ func getComplianceReports(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("getComplianceReports", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventGetComplianceReports, model.AuditStatusFail) defer c.LogAuditRec(auditRec) crs, err := c.App.GetComplianceReports(c.Params.Page, c.Params.PerPage) @@ -85,7 +85,7 @@ func getComplianceReport(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("getComplianceReport", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventGetComplianceReport, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionTo(*c.AppContext.Session(), model.PermissionReadComplianceExportJob) { @@ -115,7 +115,7 @@ func downloadComplianceReport(c *Context, w http.ResponseWriter, r *http.Request return } - auditRec := c.MakeAuditRecord("downloadComplianceReport", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDownloadComplianceReport, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "compliance_id", c.Params.ReportId) diff --git a/server/channels/api4/config.go b/server/channels/api4/config.go index 8c13da4b6ff..dee58f162ee 100644 --- a/server/channels/api4/config.go +++ b/server/channels/api4/config.go @@ -55,7 +55,7 @@ func getConfig(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("getConfig", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventGetConfig, model.AuditStatusFail) defer c.LogAuditRec(auditRec) cfg, err := config.Merge(&model.Config{}, c.App.GetSanitizedConfig(), &utils.MergeConfig{ @@ -98,7 +98,7 @@ func getConfig(c *Context, w http.ResponseWriter, r *http.Request) { } func configReload(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("configReload", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventConfigReload, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionToAndNotRestrictedAdmin(*c.AppContext.Session(), model.PermissionReloadConfig) { @@ -125,7 +125,7 @@ func updateConfig(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updateConfig", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateConfig, model.AuditStatusFail) defer c.LogAuditRec(auditRec) cfg.SetDefaults() @@ -293,7 +293,7 @@ func patchConfig(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("patchConfig", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventPatchConfig, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionToAny(*c.AppContext.Session(), model.SysconsoleWritePermissions) { diff --git a/server/channels/api4/config_local.go b/server/channels/api4/config_local.go index 35afa6c5756..36e81f277ba 100644 --- a/server/channels/api4/config_local.go +++ b/server/channels/api4/config_local.go @@ -25,7 +25,7 @@ func (api *API) InitConfigLocal() { } func localGetConfig(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("localGetConfig", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalGetConfig, model.AuditStatusFail) defer c.LogAuditRec(auditRec) filterMasked, _ := strconv.ParseBool(r.URL.Query().Get("remove_masked")) filterDefaults, _ := strconv.ParseBool(r.URL.Query().Get("remove_defaults")) @@ -57,7 +57,7 @@ func localUpdateConfig(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("localUpdateConfig", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalUpdateConfig, model.AuditStatusFail) defer c.LogAuditRec(auditRec) cfg.SetDefaults() @@ -110,7 +110,7 @@ func localPatchConfig(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("localPatchConfig", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalPatchConfig, model.AuditStatusFail) defer c.LogAuditRec(auditRec) appCfg := c.App.Config() @@ -171,7 +171,7 @@ func localMigrateConfig(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("migrateConfig", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventMigrateConfig, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionTo(*c.AppContext.Session(), model.PermissionManageSystem) { @@ -190,7 +190,7 @@ func localMigrateConfig(c *Context, w http.ResponseWriter, r *http.Request) { } func localGetClientConfig(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("localGetClientConfig", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalGetClientConfig, model.AuditStatusFail) defer c.LogAuditRec(auditRec) format := r.URL.Query().Get("format") diff --git a/server/channels/api4/custom_profile_attributes.go b/server/channels/api4/custom_profile_attributes.go index 5796a3a35ef..006cdced1f2 100644 --- a/server/channels/api4/custom_profile_attributes.go +++ b/server/channels/api4/custom_profile_attributes.go @@ -61,7 +61,7 @@ func createCPAField(c *Context, w http.ResponseWriter, r *http.Request) { pf.Name = strings.TrimSpace(pf.Name) - auditRec := c.MakeAuditRecord("createCPAField", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateCPAField, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "property_field", pf) @@ -116,7 +116,7 @@ func patchCPAField(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("patchCPAField", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventPatchCPAField, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "property_field_patch", patch) @@ -159,7 +159,7 @@ func deleteCPAField(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("deleteCPAField", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteCPAField, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "field_id", c.Params.FieldId) @@ -219,7 +219,7 @@ func patchCPAValues(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("patchCPAValues", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventPatchCPAValues, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "user_id", userID) diff --git a/server/channels/api4/data_retention.go b/server/channels/api4/data_retention.go index 9e641d2250b..8cfbc55fee1 100644 --- a/server/channels/api4/data_retention.go +++ b/server/channels/api4/data_retention.go @@ -125,7 +125,7 @@ func createPolicy(c *Context, w http.ResponseWriter, r *http.Request) { c.SetInvalidParamWithErr("policy", jsonErr) return } - auditRec := c.MakeAuditRecord("createPolicy", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreatePolicy, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "policy", &policy) @@ -163,7 +163,7 @@ func patchPolicy(c *Context, w http.ResponseWriter, r *http.Request) { c.RequirePolicyId() patch.ID = c.Params.PolicyId - auditRec := c.MakeAuditRecord("patchPolicy", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventPatchPolicy, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "patch", &patch) @@ -196,7 +196,7 @@ func deletePolicy(c *Context, w http.ResponseWriter, r *http.Request) { c.RequirePolicyId() policyId := c.Params.PolicyId - auditRec := c.MakeAuditRecord("deletePolicy", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeletePolicy, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "policy_id", policyId) if !c.App.SessionHasPermissionTo(*c.AppContext.Session(), model.PermissionSysconsoleWriteComplianceDataRetentionPolicy) { @@ -282,7 +282,7 @@ func addTeamsToPolicy(c *Context, w http.ResponseWriter, r *http.Request) { c.Err = model.NewAppError("addTeamsToPolicy", model.PayloadParseError, nil, "", http.StatusBadRequest).Wrap(err) return } - auditRec := c.MakeAuditRecord("addTeamsToPolicy", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAddTeamsToPolicy, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "policy_id", policyId) model.AddEventParameterToAuditRec(auditRec, "team_ids", teamIDs) @@ -309,7 +309,7 @@ func removeTeamsFromPolicy(c *Context, w http.ResponseWriter, r *http.Request) { c.Err = model.NewAppError("removeTeamsFromPolicy", model.PayloadParseError, nil, "", http.StatusBadRequest).Wrap(err) return } - auditRec := c.MakeAuditRecord("removeTeamsFromPolicy", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRemoveTeamsFromPolicy, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "policy_id", policyId) model.AddEventParameterToAuditRec(auditRec, "team_ids", teamIDs) @@ -405,7 +405,7 @@ func addChannelsToPolicy(c *Context, w http.ResponseWriter, r *http.Request) { c.Err = model.NewAppError("addChannelsToPolicy", model.PayloadParseError, nil, "", http.StatusBadRequest).Wrap(err) return } - auditRec := c.MakeAuditRecord("addChannelsToPolicy", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAddChannelsToPolicy, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "policy_id", policyId) model.AddEventParameterToAuditRec(auditRec, "channel_ids", channelIDs) @@ -433,7 +433,7 @@ func removeChannelsFromPolicy(c *Context, w http.ResponseWriter, r *http.Request c.Err = model.NewAppError("removeChannelsFromPolicy", model.PayloadParseError, nil, "", http.StatusBadRequest).Wrap(err) return } - auditRec := c.MakeAuditRecord("removeChannelsFromPolicy", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRemoveChannelsFromPolicy, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "policy_id", policyId) model.AddEventParameterToAuditRec(auditRec, "channel_ids", channelIDs) diff --git a/server/channels/api4/elasticsearch.go b/server/channels/api4/elasticsearch.go index 7a45d6938a8..2c537ed5000 100644 --- a/server/channels/api4/elasticsearch.go +++ b/server/channels/api4/elasticsearch.go @@ -52,7 +52,7 @@ func testElasticsearch(c *Context, w http.ResponseWriter, r *http.Request) { } func purgeElasticsearchIndexes(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("purgeElasticsearchIndexes", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventPurgeElasticsearchIndexes, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionToAndNotRestrictedAdmin(*c.AppContext.Session(), model.PermissionPurgeElasticsearchIndexes) { diff --git a/server/channels/api4/emoji.go b/server/channels/api4/emoji.go index cb964a7c56a..75bd8f8b3ec 100644 --- a/server/channels/api4/emoji.go +++ b/server/channels/api4/emoji.go @@ -53,7 +53,7 @@ func createEmoji(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("createEmoji", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateEmoji, model.AuditStatusFail) defer c.LogAuditRec(auditRec) // Allow any user with CREATE_EMOJIS permission at Team level to create emojis at system level @@ -136,7 +136,7 @@ func deleteEmoji(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("deleteEmoji", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteEmoji, model.AuditStatusFail) defer c.LogAuditRec(auditRec) emoji, err := c.App.GetEmoji(c.AppContext, c.Params.EmojiId) diff --git a/server/channels/api4/export.go b/server/channels/api4/export.go index 4ce8213378d..9065fa7e805 100644 --- a/server/channels/api4/export.go +++ b/server/channels/api4/export.go @@ -44,7 +44,7 @@ func listExports(c *Context, w http.ResponseWriter, r *http.Request) { } func deleteExport(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("deleteExport", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteExport, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "export_name", c.Params.ExportName) @@ -89,7 +89,7 @@ func downloadExport(c *Context, w http.ResponseWriter, r *http.Request) { } func generatePresignURLExport(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("generatePresignURLExport", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventGeneratePresignURLExport, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "export_name", c.Params.ExportName) diff --git a/server/channels/api4/file.go b/server/channels/api4/file.go index 10d0aca05d7..eeae62c0598 100644 --- a/server/channels/api4/file.go +++ b/server/channels/api4/file.go @@ -138,7 +138,7 @@ func uploadFileSimple(c *Context, r *http.Request, timestamp time.Time) *model.F return nil } - auditRec := c.MakeAuditRecord("uploadFileSimple", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUploadFileSimple, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "channel_id", c.Params.ChannelId) @@ -319,7 +319,7 @@ NextPart: clientId = clientIds[nFiles] } - auditRec := c.MakeAuditRecord("uploadFileMultipart", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUploadFileMultipart, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "channel_id", c.Params.ChannelId) model.AddEventParameterToAuditRec(auditRec, "client_id", clientId) @@ -426,7 +426,7 @@ func uploadFileMultipartLegacy(c *Context, mr *multipart.Reader, clientId = clientIds[i] } - auditRec := c.MakeAuditRecord("uploadFileMultipartLegacy", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUploadFileMultipartLegacy, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "channel_id", channelId) model.AddEventParameterToAuditRec(auditRec, "client_id", clientId) @@ -471,7 +471,7 @@ func getFile(c *Context, w http.ResponseWriter, r *http.Request) { forceDownload, _ := strconv.ParseBool(r.URL.Query().Get("download")) - auditRec := c.MakeAuditRecord("getFile", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventGetFile, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "force_download", forceDownload) @@ -569,7 +569,7 @@ func getFileLink(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("getFileLink", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventGetFileLink, model.AuditStatusFail) defer c.LogAuditRec(auditRec) info, err := c.App.GetFileInfo(c.AppContext, c.Params.FileId) diff --git a/server/channels/api4/group.go b/server/channels/api4/group.go index d3bb0c4813c..cf0fdfb71af 100644 --- a/server/channels/api4/group.go +++ b/server/channels/api4/group.go @@ -190,7 +190,7 @@ func createGroup(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("createGroup", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateGroup, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "group", group) @@ -260,7 +260,7 @@ func patchGroup(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("patchGroup", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventPatchGroup, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "group", group) @@ -350,7 +350,7 @@ func linkGroupSyncable(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("linkGroupSyncable", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLinkGroupSyncable, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "group_id", c.Params.GroupId) model.AddEventParameterToAuditRec(auditRec, "syncable_id", syncableID) @@ -532,7 +532,7 @@ func patchGroupSyncable(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("patchGroupSyncable", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventPatchGroupSyncable, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "group_id", c.Params.GroupId) model.AddEventParameterToAuditRec(auditRec, "old_syncable_id", syncableID) @@ -615,7 +615,7 @@ func unlinkGroupSyncable(c *Context, w http.ResponseWriter, r *http.Request) { } syncableType := c.Params.SyncableType - auditRec := c.MakeAuditRecord("unlinkGroupSyncable", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUnlinkGroupSyncable, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "group_id", c.Params.GroupId) model.AddEventParameterToAuditRec(auditRec, "syncable_id", syncableID) @@ -1227,7 +1227,7 @@ func deleteGroup(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("deleteGroup", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteGroup, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "group_id", c.Params.GroupId) @@ -1282,7 +1282,7 @@ func restoreGroup(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("restoreGroup", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRestoreGroup, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "group_id", c.Params.GroupId) @@ -1351,7 +1351,7 @@ func addGroupMembers(c *Context, w http.ResponseWriter, r *http.Request) { } } - auditRec := c.MakeAuditRecord("addGroupMembers", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAddGroupMembers, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "addGroupMembers_userids", newMembers.UserIds) @@ -1426,7 +1426,7 @@ func deleteGroupMembers(c *Context, w http.ResponseWriter, r *http.Request) { } } - auditRec := c.MakeAuditRecord("deleteGroupMembers", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteGroupMembers, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "deleteGroupMembers_userids", deleteBody.UserIds) diff --git a/server/channels/api4/import.go b/server/channels/api4/import.go index ca90642ab3b..8a83f1e277e 100644 --- a/server/channels/api4/import.go +++ b/server/channels/api4/import.go @@ -35,7 +35,7 @@ func listImports(c *Context, w http.ResponseWriter, r *http.Request) { func deleteImport(c *Context, w http.ResponseWriter, r *http.Request) { importName := c.Params.ImportName - auditRec := c.MakeAuditRecord("deleteImport", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteImport, model.AuditStatusFail) defer c.LogAuditRec(auditRec) auditRec.AddMeta("import_name", importName) diff --git a/server/channels/api4/ip_filtering.go b/server/channels/api4/ip_filtering.go index 8833bcd9b51..c44e75a8a87 100644 --- a/server/channels/api4/ip_filtering.go +++ b/server/channels/api4/ip_filtering.go @@ -63,7 +63,7 @@ func applyIPFilters(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("applyIPFilters", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventApplyIPFilters, model.AuditStatusFail) defer c.LogAuditRecWithLevel(auditRec, app.LevelContent) allowedRanges := &model.AllowedIPRanges{} // Initialize the allowedRanges variable diff --git a/server/channels/api4/job.go b/server/channels/api4/job.go index 9a354d216fb..6c77c49e9cb 100644 --- a/server/channels/api4/job.go +++ b/server/channels/api4/job.go @@ -148,7 +148,7 @@ func createJob(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("createJob", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateJob, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "job", &job) @@ -290,7 +290,7 @@ func cancelJob(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("cancelJob", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCancelJob, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "job_id", c.Params.JobId) @@ -331,7 +331,7 @@ func updateJobStatus(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updateJobStatus", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateJobStatus, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "job_id", c.Params.JobId) diff --git a/server/channels/api4/ldap.go b/server/channels/api4/ldap.go index c05f573357c..9470671953c 100644 --- a/server/channels/api4/ldap.go +++ b/server/channels/api4/ldap.go @@ -64,7 +64,7 @@ func syncLdap(c *Context, w http.ResponseWriter, r *http.Request) { c.Logger.LogM(mlog.MlvlLDAPInfo, "Error decoding LDAP sync options", mlog.Err(err)) } - auditRec := c.MakeAuditRecord("syncLdap", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventSyncLdap, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.App.SyncLdap(c.AppContext, opts.IncludeRemovedMembers) @@ -222,7 +222,7 @@ func linkLdapGroup(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("linkLdapGroup", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLinkLdapGroup, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "remote_id", c.Params.RemoteId) @@ -319,7 +319,7 @@ func unlinkLdapGroup(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("unlinkLdapGroup", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUnlinkLdapGroup, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "remote_id", c.Params.RemoteId) @@ -362,7 +362,7 @@ func migrateIDLdap(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("idMigrateLdap", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventIdMigrateLdap, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "to_attribute", toAttribute) defer c.LogAuditRec(auditRec) @@ -417,7 +417,7 @@ func addLdapPublicCertificate(c *Context, w http.ResponseWriter, r *http.Request return } - auditRec := c.MakeAuditRecord("addLdapPublicCertificate", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAddLdapPublicCertificate, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "filename", fileData.Filename) @@ -441,7 +441,7 @@ func addLdapPrivateCertificate(c *Context, w http.ResponseWriter, r *http.Reques return } - auditRec := c.MakeAuditRecord("addLdapPrivateCertificate", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAddLdapPrivateCertificate, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "filename", fileData.Filename) @@ -459,7 +459,7 @@ func removeLdapPublicCertificate(c *Context, w http.ResponseWriter, r *http.Requ return } - auditRec := c.MakeAuditRecord("removeLdapPublicCertificate", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRemoveLdapPublicCertificate, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if err := c.App.RemoveLdapPublicCertificate(); err != nil { @@ -477,7 +477,7 @@ func removeLdapPrivateCertificate(c *Context, w http.ResponseWriter, r *http.Req return } - auditRec := c.MakeAuditRecord("removeLdapPrivateCertificate", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRemoveLdapPrivateCertificate, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if err := c.App.RemoveLdapPrivateCertificate(); err != nil { @@ -508,7 +508,7 @@ func addUserToGroupSyncables(c *Context, w http.ResponseWriter, r *http.Request) return } - auditRec := c.MakeAuditRecord("addUserToGroupSyncables", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAddUserToGroupSyncables, model.AuditStatusFail) defer c.LogAuditRec(auditRec) params := model.CreateDefaultMembershipParams{Since: 0, ReAddRemovedMembers: true, ScopedUserID: &user.Id} diff --git a/server/channels/api4/license.go b/server/channels/api4/license.go index a2ff1907553..e345253336e 100644 --- a/server/channels/api4/license.go +++ b/server/channels/api4/license.go @@ -53,7 +53,7 @@ func getClientLicense(c *Context, w http.ResponseWriter, r *http.Request) { } func addLicense(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("addLicense", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAddLicense, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") @@ -155,7 +155,7 @@ func addLicense(c *Context, w http.ResponseWriter, r *http.Request) { } func removeLicense(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("removeLicense", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRemoveLicense, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") @@ -176,7 +176,7 @@ func removeLicense(c *Context, w http.ResponseWriter, r *http.Request) { } func requestTrialLicense(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("requestTrialLicense", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRequestTrialLicense, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") diff --git a/server/channels/api4/license_local.go b/server/channels/api4/license_local.go index 20a66bedcbf..8d153d53875 100644 --- a/server/channels/api4/license_local.go +++ b/server/channels/api4/license_local.go @@ -19,7 +19,7 @@ func (api *API) InitLicenseLocal() { } func localAddLicense(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("localAddLicense", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalAddLicense, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") @@ -80,7 +80,7 @@ func localAddLicense(c *Context, w http.ResponseWriter, r *http.Request) { } func localRemoveLicense(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("localRemoveLicense", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalRemoveLicense, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") diff --git a/server/channels/api4/oauth.go b/server/channels/api4/oauth.go index 964a406c7d0..f87b23bb348 100644 --- a/server/channels/api4/oauth.go +++ b/server/channels/api4/oauth.go @@ -30,7 +30,7 @@ func createOAuthApp(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("createOAuthApp", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateOAuthApp, model.AuditStatusFail) model.AddEventParameterAuditableToAuditRec(auditRec, "oauth_app", &oauthApp) defer c.LogAuditRec(auditRec) @@ -69,7 +69,7 @@ func updateOAuthApp(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updateOAuthApp", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateOAuthApp, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "oauth_app_id", c.Params.AppId) c.LogAudit("attempt") @@ -208,7 +208,7 @@ func deleteOAuthApp(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("deleteOAuthApp", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteOAuthApp, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "oauth_app_id", c.Params.AppId) c.LogAudit("attempt") @@ -249,7 +249,7 @@ func regenerateOAuthAppSecret(c *Context, w http.ResponseWriter, r *http.Request return } - auditRec := c.MakeAuditRecord("regenerateOAuthAppSecret", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRegenerateOAuthAppSecret, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "oauth_app_id", c.Params.AppId) diff --git a/server/channels/api4/outgoing_oauth_connection.go b/server/channels/api4/outgoing_oauth_connection.go index b8d1eb8eff5..46828e4db8b 100644 --- a/server/channels/api4/outgoing_oauth_connection.go +++ b/server/channels/api4/outgoing_oauth_connection.go @@ -204,7 +204,7 @@ func getOutgoingOAuthConnection(c *Context, w http.ResponseWriter, r *http.Reque } func createOutgoingOAuthConnection(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("createOutgoingOauthConnection", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateOutgoingOauthConnection, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") @@ -248,7 +248,7 @@ func createOutgoingOAuthConnection(c *Context, w http.ResponseWriter, r *http.Re } func updateOutgoingOAuthConnection(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("updateOutgoingOAuthConnection", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateOutgoingOAuthConnection, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "outgoing_oauth_connection_id", c.Params.OutgoingOAuthConnectionID) c.LogAudit("attempt") @@ -314,7 +314,7 @@ func updateOutgoingOAuthConnection(c *Context, w http.ResponseWriter, r *http.Re } func deleteOutgoingOAuthConnection(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("deleteOutgoingOAuthConnection", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteOutgoingOAuthConnection, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "outgoing_oauth_connection_id", c.Params.OutgoingOAuthConnectionID) c.LogAudit("attempt") @@ -355,7 +355,7 @@ func deleteOutgoingOAuthConnection(c *Context, w http.ResponseWriter, r *http.Re // with the provided connection configuration. If the credentials are valid, the request will return a 200 status code and // if the credentials are invalid, the request will return a 400 status code. func validateOutgoingOAuthConnectionCredentials(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("validateOutgoingOAuthConnectionCredentials", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventValidateOutgoingOAuthConnectionCredentials, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") diff --git a/server/channels/api4/plugin.go b/server/channels/api4/plugin.go index 4e85f012c90..4c86e1d0813 100644 --- a/server/channels/api4/plugin.go +++ b/server/channels/api4/plugin.go @@ -49,7 +49,7 @@ func uploadPlugin(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("uploadPlugin", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUploadPlugin, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionTo(*c.AppContext.Session(), model.PermissionSysconsoleWritePlugins) { @@ -104,7 +104,7 @@ func installPluginFromURL(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("installPluginFromURL", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventInstallPluginFromURL, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionTo(*c.AppContext.Session(), model.PermissionSysconsoleWritePlugins) { @@ -137,7 +137,7 @@ func installMarketplacePlugin(c *Context, w http.ResponseWriter, r *http.Request return } - auditRec := c.MakeAuditRecord("installMarketplacePlugin", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventInstallMarketplacePlugin, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionTo(*c.AppContext.Session(), model.PermissionSysconsoleWritePlugins) { @@ -227,7 +227,7 @@ func removePlugin(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("removePlugin", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRemovePlugin, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "plugin_id", c.Params.PluginId) @@ -331,7 +331,7 @@ func enablePlugin(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("enablePlugin", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventEnablePlugin, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "plugin_id", c.Params.PluginId) @@ -360,7 +360,7 @@ func disablePlugin(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("disablePlugin", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDisablePlugin, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "plugin_id", c.Params.PluginId) @@ -421,7 +421,7 @@ func installPlugin(c *Context, w http.ResponseWriter, plugin io.ReadSeeker, forc } func setFirstAdminVisitMarketplaceStatus(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("setFirstAdminVisitMarketplaceStatus", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventSetFirstAdminVisitMarketplaceStatus, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") @@ -449,7 +449,7 @@ func setFirstAdminVisitMarketplaceStatus(c *Context, w http.ResponseWriter, r *h } func getFirstAdminVisitMarketplaceStatus(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("getFirstAdminVisitMarketplaceStatus", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventGetFirstAdminVisitMarketplaceStatus, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") diff --git a/server/channels/api4/post.go b/server/channels/api4/post.go index 96d3437b45b..baee491cbff 100644 --- a/server/channels/api4/post.go +++ b/server/channels/api4/post.go @@ -80,7 +80,7 @@ func createPost(c *Context, w http.ResponseWriter, r *http.Request) { post.SanitizeInput() post.UserId = c.AppContext.Session().UserId - auditRec := c.MakeAuditRecord("createPost", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreatePost, model.AuditStatusFail) defer c.LogAuditRecWithLevel(auditRec, app.LevelContent) model.AddEventParameterAuditableToAuditRec(auditRec, "post", &post) @@ -582,7 +582,7 @@ func deletePost(c *Context, w http.ResponseWriter, _ *http.Request) { permanent := c.Params.Permanent - auditRec := c.MakeAuditRecord("deletePost", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeletePost, model.AuditStatusFail) defer c.LogAuditRecWithLevel(auditRec, app.LevelContent) model.AddEventParameterToAuditRec(auditRec, "post_id", c.Params.PostId) model.AddEventParameterToAuditRec(auditRec, "permanent", permanent) @@ -818,7 +818,7 @@ func searchPosts(c *Context, w http.ResponseWriter, r *http.Request, teamId stri includeDeletedChannels = *params.IncludeDeletedChannels } - auditRec := c.MakeAuditRecord("searchPosts", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventSearchPosts, model.AuditStatusFail) defer c.LogAuditRecWithLevel(auditRec, app.LevelAPI) model.AddEventParameterAuditableToAuditRec(auditRec, "search_params", params) @@ -867,7 +867,7 @@ func updatePost(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updatePost", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdatePost, model.AuditStatusFail) model.AddEventParameterAuditableToAuditRec(auditRec, "post", &post) defer c.LogAuditRecWithLevel(auditRec, app.LevelContent) @@ -942,7 +942,7 @@ func patchPost(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("patchPost", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventPatchPost, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "id", c.Params.PostId) model.AddEventParameterAuditableToAuditRec(auditRec, "patch", &post) defer c.LogAuditRecWithLevel(auditRec, app.LevelContent) @@ -1065,7 +1065,7 @@ func saveIsPinnedPost(c *Context, w http.ResponseWriter, isPinned bool) { return } - auditRec := c.MakeAuditRecord("saveIsPinnedPost", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventSaveIsPinnedPost, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "post_id", c.Params.PostId) defer c.LogAuditRecWithLevel(auditRec, app.LevelContent) @@ -1202,7 +1202,7 @@ func moveThread(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("moveThread", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventMoveThread, model.AuditStatusFail) defer c.LogAuditRecWithLevel(auditRec, app.LevelContent) model.AddEventParameterToAuditRec(auditRec, "original_post_id", c.Params.PostId) model.AddEventParameterToAuditRec(auditRec, "to_channel_id", moveThreadParams.ChannelId) @@ -1343,7 +1343,7 @@ func restorePostVersion(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("restorePostVersion", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRestorePostVersion, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "id", c.Params.PostId) model.AddEventParameterToAuditRec(auditRec, "restore_version_id", restoreVersionId) defer c.LogAuditRecWithLevel(auditRec, app.LevelContent) diff --git a/server/channels/api4/post_local.go b/server/channels/api4/post_local.go index df5ff8c781e..03122862579 100644 --- a/server/channels/api4/post_local.go +++ b/server/channels/api4/post_local.go @@ -24,7 +24,7 @@ func localDeletePost(c *Context, w http.ResponseWriter, r *http.Request) { permanent := c.Params.Permanent - auditRec := c.MakeAuditRecord("localDeletePost", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalDeletePost, model.AuditStatusFail) defer c.LogAuditRecWithLevel(auditRec, app.LevelContent) model.AddEventParameterToAuditRec(auditRec, "post_id", c.Params.PostId) model.AddEventParameterToAuditRec(auditRec, "permanent", permanent) diff --git a/server/channels/api4/preference.go b/server/channels/api4/preference.go index 89021409253..fbe16433cea 100644 --- a/server/channels/api4/preference.go +++ b/server/channels/api4/preference.go @@ -93,7 +93,7 @@ func updatePreferences(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updatePreferences", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdatePreferences, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionToUser(*c.AppContext.Session(), c.Params.UserId) { @@ -155,7 +155,7 @@ func deletePreferences(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("deletePreferences", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeletePreferences, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionToUser(*c.AppContext.Session(), c.Params.UserId) { diff --git a/server/channels/api4/remote_cluster.go b/server/channels/api4/remote_cluster.go index e5b26d41b04..ac6381dd1c8 100644 --- a/server/channels/api4/remote_cluster.go +++ b/server/channels/api4/remote_cluster.go @@ -99,7 +99,7 @@ func remoteClusterAcceptMessage(c *Context, w http.ResponseWriter, r *http.Reque return } - auditRec := c.MakeAuditRecord("remoteClusterAcceptMessage", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRemoteClusterAcceptMessage, model.AuditStatusFail) model.AddEventParameterAuditableToAuditRec(auditRec, "remote_cluster_frame", &frame) defer c.LogAuditRec(auditRec) @@ -149,7 +149,7 @@ func remoteClusterConfirmInvite(c *Context, w http.ResponseWriter, r *http.Reque return } - auditRec := c.MakeAuditRecord("remoteClusterAcceptInvite", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRemoteClusterAcceptInvite, model.AuditStatusFail) model.AddEventParameterAuditableToAuditRec(auditRec, "remote_cluster_frame", &frame) defer c.LogAuditRec(auditRec) @@ -200,7 +200,7 @@ func uploadRemoteData(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("uploadRemoteData", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUploadRemoteData, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "upload_id", c.Params.UploadId) @@ -281,7 +281,7 @@ func remoteSetProfileImage(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("remoteUploadProfileImage", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRemoteUploadProfileImage, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if imageArray[0] != nil { model.AddEventParameterToAuditRec(auditRec, "filename", imageArray[0].Filename) @@ -373,7 +373,7 @@ func createRemoteCluster(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("createRemoteCluster", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateRemoteCluster, model.AuditStatusFail) defer c.LogAuditRec(auditRec) var rcWithTeamAndPassword model.RemoteClusterWithPassword @@ -461,7 +461,7 @@ func remoteClusterAcceptInvite(c *Context, w http.ResponseWriter, r *http.Reques return } - auditRec := c.MakeAuditRecord("remoteClusterAcceptInvite", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRemoteClusterAcceptInvite, model.AuditStatusFail) defer c.LogAuditRec(auditRec) var rcAcceptInvite model.RemoteClusterAcceptInvite @@ -544,7 +544,7 @@ func generateRemoteClusterInvite(c *Context, w http.ResponseWriter, r *http.Requ return } - auditRec := c.MakeAuditRecord("generateRemoteClusterInvite", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventGenerateRemoteClusterInvite, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "remote_id", c.Params.RemoteId) @@ -635,7 +635,7 @@ func patchRemoteCluster(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("patchRemoteCluster", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventPatchRemoteCluster, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "remote_id", c.Params.RemoteId) model.AddEventParameterAuditableToAuditRec(auditRec, "remotecluster_patch", &patch) defer c.LogAuditRec(auditRec) @@ -680,7 +680,7 @@ func deleteRemoteCluster(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("deleteRemoteCluster", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteRemoteCluster, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "remote_id", c.Params.RemoteId) defer c.LogAuditRec(auditRec) diff --git a/server/channels/api4/role.go b/server/channels/api4/role.go index bfc1088ad53..e5631179b4e 100644 --- a/server/channels/api4/role.go +++ b/server/channels/api4/role.go @@ -139,7 +139,7 @@ func patchRole(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("patchRole", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventPatchRole, model.AuditStatusFail) model.AddEventParameterAuditableToAuditRec(auditRec, "role_patch", &patch) defer c.LogAuditRec(auditRec) diff --git a/server/channels/api4/saml.go b/server/channels/api4/saml.go index 1dbae6c61ed..d7060cc5bac 100644 --- a/server/channels/api4/saml.go +++ b/server/channels/api4/saml.go @@ -82,7 +82,7 @@ func addSamlPublicCertificate(c *Context, w http.ResponseWriter, r *http.Request return } - auditRec := c.MakeAuditRecord("addSamlPublicCertificate", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAddSamlPublicCertificate, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "filename", fileData.Filename) @@ -106,7 +106,7 @@ func addSamlPrivateCertificate(c *Context, w http.ResponseWriter, r *http.Reques return } - auditRec := c.MakeAuditRecord("addSamlPrivateCertificate", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAddSamlPrivateCertificate, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "filename", fileData.Filename) @@ -135,7 +135,7 @@ func addSamlIdpCertificate(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("addSamlIdpCertificate", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAddSamlIdpCertificate, model.AuditStatusFail) defer c.LogAuditRec(auditRec) auditRec.AddMeta("type", d) @@ -177,7 +177,7 @@ func removeSamlPublicCertificate(c *Context, w http.ResponseWriter, r *http.Requ return } - auditRec := c.MakeAuditRecord("removeSamlPublicCertificate", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRemoveSamlPublicCertificate, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if err := c.App.RemoveSamlPublicCertificate(); err != nil { @@ -195,7 +195,7 @@ func removeSamlPrivateCertificate(c *Context, w http.ResponseWriter, r *http.Req return } - auditRec := c.MakeAuditRecord("removeSamlPrivateCertificate", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRemoveSamlPrivateCertificate, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if err := c.App.RemoveSamlPrivateCertificate(); err != nil { @@ -213,7 +213,7 @@ func removeSamlIdpCertificate(c *Context, w http.ResponseWriter, r *http.Request return } - auditRec := c.MakeAuditRecord("removeSamlIdpCertificate", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRemoveSamlIdpCertificate, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if err := c.App.RemoveSamlIdpCertificate(); err != nil { diff --git a/server/channels/api4/scheduled_post.go b/server/channels/api4/scheduled_post.go index 58dc665abdb..e366a131fbd 100644 --- a/server/channels/api4/scheduled_post.go +++ b/server/channels/api4/scheduled_post.go @@ -70,7 +70,7 @@ func createSchedulePost(c *Context, w http.ResponseWriter, r *http.Request) { scheduledPost.UserId = c.AppContext.Session().UserId scheduledPost.SanitizeInput() - auditRec := c.MakeAuditRecord("createSchedulePost", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateSchedulePost, model.AuditStatusFail) defer c.LogAuditRecWithLevel(auditRec, app.LevelContent) model.AddEventParameterAuditableToAuditRec(auditRec, "scheduledPost", &scheduledPost) @@ -165,7 +165,7 @@ func updateScheduledPost(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updateScheduledPost", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateScheduledPost, model.AuditStatusFail) defer c.LogAuditRecWithLevel(auditRec, app.LevelContent) model.AddEventParameterAuditableToAuditRec(auditRec, "scheduledPost", &scheduledPost) @@ -204,7 +204,7 @@ func deleteScheduledPost(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("deleteScheduledPost", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteScheduledPost, model.AuditStatusFail) defer c.LogAuditRecWithLevel(auditRec, app.LevelContent) model.AddEventParameterToAuditRec(auditRec, "scheduledPostId", scheduledPostId) diff --git a/server/channels/api4/scheme.go b/server/channels/api4/scheme.go index 8ba79589f98..fc53dc3754c 100644 --- a/server/channels/api4/scheme.go +++ b/server/channels/api4/scheme.go @@ -28,7 +28,7 @@ func createScheme(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("createScheme", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateScheme, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "scheme", &scheme) @@ -193,7 +193,7 @@ func patchScheme(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("patchScheme", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventPatchScheme, model.AuditStatusFail) model.AddEventParameterAuditableToAuditRec(auditRec, "scheme_patch", &patch) defer c.LogAuditRec(auditRec) @@ -238,7 +238,7 @@ func deleteScheme(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("deleteScheme", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteScheme, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "scheme_id", c.Params.SchemeId) defer c.LogAuditRec(auditRec) diff --git a/server/channels/api4/shared_channel.go b/server/channels/api4/shared_channel.go index 7fe8830092f..afb13444d14 100644 --- a/server/channels/api4/shared_channel.go +++ b/server/channels/api4/shared_channel.go @@ -171,7 +171,7 @@ func inviteRemoteClusterToChannel(c *Context, w http.ResponseWriter, r *http.Req return } - auditRec := c.MakeAuditRecord("inviteRemoteClusterToChannel", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventInviteRemoteClusterToChannel, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "remote_id", c.Params.RemoteId) model.AddEventParameterToAuditRec(auditRec, "channel_id", c.Params.ChannelId) @@ -222,7 +222,7 @@ func uninviteRemoteClusterToChannel(c *Context, w http.ResponseWriter, r *http.R return } - auditRec := c.MakeAuditRecord("uninviteRemoteClusterToChannel", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUninviteRemoteClusterToChannel, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "remote_id", c.Params.RemoteId) model.AddEventParameterToAuditRec(auditRec, "channel_id", c.Params.ChannelId) diff --git a/server/channels/api4/system.go b/server/channels/api4/system.go index 67efc595a2a..87e288290c2 100644 --- a/server/channels/api4/system.go +++ b/server/channels/api4/system.go @@ -296,7 +296,7 @@ func testSiteURL(c *Context, w http.ResponseWriter, r *http.Request) { } func getAudits(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("getAudits", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventGetAudits, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionTo(*c.AppContext.Session(), model.PermissionReadAudits) { @@ -325,7 +325,7 @@ func databaseRecycle(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("databaseRecycle", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDatabaseRecycle, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.App.RecycleDatabaseConnection(c.AppContext) @@ -340,7 +340,7 @@ func invalidateCaches(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("invalidateCaches", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventInvalidateCaches, model.AuditStatusFail) defer c.LogAuditRec(auditRec) appErr := c.App.Srv().InvalidateAllCaches() @@ -356,7 +356,7 @@ func invalidateCaches(c *Context, w http.ResponseWriter, r *http.Request) { } func queryLogs(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("queryLogs", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventQueryLogs, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionToAndNotRestrictedAdmin(*c.AppContext.Session(), model.PermissionGetLogs) { @@ -399,7 +399,7 @@ func queryLogs(c *Context, w http.ResponseWriter, r *http.Request) { } func getLogs(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("getLogs", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventGetLogs, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionToAndNotRestrictedAdmin(*c.AppContext.Session(), model.PermissionGetLogs) { @@ -422,7 +422,7 @@ func getLogs(c *Context, w http.ResponseWriter, r *http.Request) { } func downloadLogs(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("downloadLogs", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDownloadLogs, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionToAndNotRestrictedAdmin(*c.AppContext.Session(), model.PermissionGetLogs) { @@ -789,7 +789,7 @@ func setServerBusy(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("setServerBusy", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventSetServerBusy, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "seconds", i) @@ -806,7 +806,7 @@ func clearServerBusy(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("clearServerBusy", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventClearServerBusy, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.App.Srv().Platform().Busy.Clear() @@ -835,7 +835,7 @@ func getServerBusyExpires(c *Context, w http.ResponseWriter, r *http.Request) { } func upgradeToEnterprise(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("upgradeToEnterprise", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpgradeToEnterprise, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionTo(*c.AppContext.Session(), model.PermissionManageSystem) { @@ -924,7 +924,7 @@ func upgradeToEnterpriseStatus(c *Context, w http.ResponseWriter, r *http.Reques } func restart(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("restartServer", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRestartServer, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionTo(*c.AppContext.Session(), model.PermissionManageSystem) { @@ -968,7 +968,7 @@ func getProductNotices(c *Context, w http.ResponseWriter, r *http.Request) { } func updateViewedProductNotices(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("updateViewedProductNotices", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateViewedProductNotices, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") @@ -988,7 +988,7 @@ func updateViewedProductNotices(c *Context, w http.ResponseWriter, r *http.Reque } func getOnboarding(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("getOnboarding", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventGetOnboarding, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") @@ -1015,7 +1015,7 @@ func completeOnboarding(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("completeOnboarding", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCompleteOnboarding, model.AuditStatusFail) defer c.LogAuditRec(auditRec) onboardingRequest, err := model.CompleteOnboardingRequestFromReader(r.Body) @@ -1042,7 +1042,7 @@ func getAppliedSchemaMigrations(c *Context, w http.ResponseWriter, r *http.Reque return } - auditRec := c.MakeAuditRecord("getAppliedSchemaMigrations", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventGetAppliedSchemaMigrations, model.AuditStatusFail) defer c.LogAuditRec(auditRec) migrations, appErr := c.App.GetAppliedSchemaMigrations() diff --git a/server/channels/api4/system_local.go b/server/channels/api4/system_local.go index 1771600f33c..6096f7aec52 100644 --- a/server/channels/api4/system_local.go +++ b/server/channels/api4/system_local.go @@ -23,7 +23,7 @@ func (api *API) InitSystemLocal() { } func localCheckIntegrity(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("localCheckIntegrity", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalCheckIntegrity, model.AuditStatusFail) defer c.LogAuditRec(auditRec) var results []model.IntegrityCheckResult diff --git a/server/channels/api4/team.go b/server/channels/api4/team.go index 92ffa5b965a..5bbd7bbda10 100644 --- a/server/channels/api4/team.go +++ b/server/channels/api4/team.go @@ -83,7 +83,7 @@ func createTeam(c *Context, w http.ResponseWriter, r *http.Request) { } team.Email = strings.ToLower(team.Email) - auditRec := c.MakeAuditRecord("createTeam", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateTeam, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "team", &team) @@ -213,7 +213,7 @@ func updateTeam(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updateTeam", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateTeam, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "team", &team) @@ -250,7 +250,7 @@ func patchTeam(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("patchTeam", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventPatchTeam, model.AuditStatusFail) model.AddEventParameterAuditableToAuditRec(auditRec, "team_patch", &team) defer c.LogAuditRec(auditRec) @@ -303,7 +303,7 @@ func restoreTeam(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("restoreTeam", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRestoreTeam, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "team_id", c.Params.TeamId) @@ -382,7 +382,7 @@ func updateTeamPrivacy(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updateTeamPrivacy", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateTeamPrivacy, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "privacy", privacy) defer c.LogAuditRec(auditRec) @@ -435,7 +435,7 @@ func regenerateTeamInviteId(c *Context, w http.ResponseWriter, r *http.Request) return } - auditRec := c.MakeAuditRecord("regenerateTeamInviteId", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRegenerateTeamInviteId, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "team_id", c.Params.TeamId) defer c.LogAuditRec(auditRec) @@ -468,7 +468,7 @@ func deleteTeam(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("deleteTeam", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteTeam, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if team, err := c.App.GetTeam(c.Params.TeamId); err == nil { @@ -736,7 +736,7 @@ func addTeamMember(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("addTeamMember", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAddTeamMember, model.AuditStatusFail) model.AddEventParameterAuditableToAuditRec(auditRec, "member", &member) defer c.LogAuditRec(auditRec) @@ -823,7 +823,7 @@ func addUserToTeamFromInvite(c *Context, w http.ResponseWriter, r *http.Request) var member *model.TeamMember var err *model.AppError - auditRec := c.MakeAuditRecord("addUserToTeamFromInvite", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAddUserToTeamFromInvite, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "invite_id", inviteId) @@ -881,7 +881,7 @@ func addTeamMembers(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("addTeamMembers", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAddTeamMembers, model.AuditStatusFail) model.AddEventParameterAuditableArrayToAuditRec(auditRec, "members", members) defer c.LogAuditRec(auditRec) auditRec.AddMeta("count", len(members)) @@ -993,7 +993,7 @@ func removeTeamMember(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("removeTeamMember", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRemoveTeamMember, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if c.AppContext.Session().UserId != c.Params.UserId { @@ -1103,7 +1103,7 @@ func updateTeamMemberRoles(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updateTeamMemberRoles", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateTeamMemberRoles, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "roles", newRoles) @@ -1137,7 +1137,7 @@ func updateTeamMemberSchemeRoles(c *Context, w http.ResponseWriter, r *http.Requ return } - auditRec := c.MakeAuditRecord("updateTeamMemberSchemeRoles", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateTeamMemberSchemeRoles, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "scheme_roles", &schemeRoles) @@ -1375,7 +1375,7 @@ func importTeam(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("importTeam", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventImportTeam, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "team_id", c.Params.TeamId) @@ -1451,7 +1451,7 @@ func inviteUsersToTeam(c *Context, w http.ResponseWriter, r *http.Request) { emailList[i] = strings.ToLower(emailList[i]) } - auditRec := c.MakeAuditRecord("inviteUsersToTeam", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventInviteUsersToTeam, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "member_invite", memberInvite) model.AddEventParameterToAuditRec(auditRec, "team_id", c.Params.TeamId) @@ -1545,7 +1545,7 @@ func inviteGuestsToChannels(c *Context, w http.ResponseWriter, r *http.Request) return } - auditRec := c.MakeAuditRecord("inviteGuestsToChannels", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventInviteGuestsToChannels, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "team_id", c.Params.TeamId) @@ -1662,7 +1662,7 @@ func invalidateAllEmailInvites(c *Context, w http.ResponseWriter, r *http.Reques return } - auditRec := c.MakeAuditRecord("invalidateAllEmailInvites", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventInvalidateAllEmailInvites, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if err := c.App.InvalidateAllEmailInvites(c.AppContext); err != nil { @@ -1724,7 +1724,7 @@ func setTeamIcon(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("setTeamIcon", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventSetTeamIcon, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "team_id", c.Params.TeamId) @@ -1775,7 +1775,7 @@ func removeTeamIcon(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("removeTeamIcon", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRemoveTeamIcon, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "team_id", c.Params.TeamId) @@ -1813,7 +1813,7 @@ func updateTeamScheme(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updateTeamScheme", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateTeamScheme, model.AuditStatusFail) model.AddEventParameterAuditableToAuditRec(auditRec, "scheme_id_patch", &p) defer c.LogAuditRec(auditRec) diff --git a/server/channels/api4/team_local.go b/server/channels/api4/team_local.go index 3ae3bad770d..43ca735c29f 100644 --- a/server/channels/api4/team_local.go +++ b/server/channels/api4/team_local.go @@ -41,7 +41,7 @@ func localDeleteTeam(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("localDeleteTeam", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalDeleteTeam, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "team_id", c.Params.TeamId) defer c.LogAuditRec(auditRec) @@ -99,7 +99,7 @@ func localInviteUsersToTeam(c *Context, w http.ResponseWriter, r *http.Request) emailList[i] = email } - auditRec := c.MakeAuditRecord("localInviteUsersToTeam", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalInviteUsersToTeam, model.AuditStatusFail) model.AddEventParameterAuditableToAuditRec(auditRec, "member_invite", memberInvite) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "team_id", c.Params.TeamId) @@ -247,7 +247,7 @@ func localCreateTeam(c *Context, w http.ResponseWriter, r *http.Request) { team.Email = strings.ToLower(team.Email) - auditRec := c.MakeAuditRecord("localCreateTeam", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalCreateTeam, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "team", &team) diff --git a/server/channels/api4/terms_of_service.go b/server/channels/api4/terms_of_service.go index 1e01321fef4..0fc09c3c6a9 100644 --- a/server/channels/api4/terms_of_service.go +++ b/server/channels/api4/terms_of_service.go @@ -40,7 +40,7 @@ func createTermsOfService(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("createTermsOfService", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateTermsOfService, model.AuditStatusFail) defer c.LogAuditRec(auditRec) props := model.MapFromJSON(r.Body) diff --git a/server/channels/api4/upload.go b/server/channels/api4/upload.go index 7aa16469e07..203314bfcb8 100644 --- a/server/channels/api4/upload.go +++ b/server/channels/api4/upload.go @@ -42,7 +42,7 @@ func createUpload(c *Context, w http.ResponseWriter, r *http.Request) { us.Filename = filepath.Base(us.Filename) - auditRec := c.MakeAuditRecord("createUpload", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateUpload, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "upload", &us) @@ -121,7 +121,7 @@ func uploadData(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("uploadData", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUploadData, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "upload_id", c.Params.UploadId) diff --git a/server/channels/api4/user.go b/server/channels/api4/user.go index e887898872d..d0089c7f9c6 100644 --- a/server/channels/api4/user.go +++ b/server/channels/api4/user.go @@ -123,7 +123,7 @@ func createUser(c *Context, w http.ResponseWriter, r *http.Request) { inviteId := r.URL.Query().Get("iid") redirect := r.URL.Query().Get("r") - auditRec := c.MakeAuditRecord("createUser", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateUser, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "invite_id", inviteId) model.AddEventParameterToAuditRec(auditRec, "redirect", redirect) @@ -470,7 +470,7 @@ func setProfileImage(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("setProfileImage", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventSetProfileImage, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if imageArray[0] != nil { model.AddEventParameterToAuditRec(auditRec, "filename", imageArray[0].Filename) @@ -519,7 +519,7 @@ func setDefaultProfileImage(c *Context, w http.ResponseWriter, r *http.Request) return } - auditRec := c.MakeAuditRecord("setDefaultProfileImage", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventSetDefaultProfileImage, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "user_id", c.Params.UserId) defer c.LogAuditRec(auditRec) @@ -1247,7 +1247,7 @@ func updateUser(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updateUser", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateUser, model.AuditStatusFail) defer c.LogAuditRec(auditRec) var user model.User @@ -1336,7 +1336,7 @@ func patchUser(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("patchUser", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventPatchUser, model.AuditStatusFail) model.AddEventParameterAuditableToAuditRec(auditRec, "user_patch", &patch) defer c.LogAuditRec(auditRec) @@ -1415,7 +1415,7 @@ func deleteUser(c *Context, w http.ResponseWriter, r *http.Request) { userId := c.Params.UserId permanent := c.Params.Permanent - auditRec := c.MakeAuditRecord("deleteUser", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteUser, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "user_id", userId) model.AddEventParameterToAuditRec(auditRec, "permanent", permanent) defer c.LogAuditRec(auditRec) @@ -1489,7 +1489,7 @@ func updateUserRoles(c *Context, w http.ResponseWriter, r *http.Request) { } } - auditRec := c.MakeAuditRecord("updateUserRoles", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateUserRoles, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "roles", newRoles) defer c.LogAuditRec(auditRec) @@ -1526,7 +1526,7 @@ func updateUserActive(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updateUserActive", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateUserActive, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "active", active) @@ -1600,7 +1600,7 @@ func updateUserAuth(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updateUserAuth", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateUserAuth, model.AuditStatusFail) defer c.LogAuditRec(auditRec) var userAuth model.UserAuth @@ -1642,7 +1642,7 @@ func updateUserMfa(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updateUserMfa", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateUserMfa, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if c.AppContext.Session().IsOAuth { @@ -1735,7 +1735,7 @@ func updatePassword(c *Context, w http.ResponseWriter, r *http.Request) { props := model.MapFromJSON(r.Body) newPassword := props["new_password"] - auditRec := c.MakeAuditRecord("updatePassword", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdatePassword, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.LogAudit("attempted") @@ -1801,7 +1801,7 @@ func resetPassword(c *Context, w http.ResponseWriter, r *http.Request) { newPassword := props["new_password"] - auditRec := c.MakeAuditRecord("resetPassword", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventResetPassword, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.LogAudit("attempt - token=" + token) @@ -1827,7 +1827,7 @@ func sendPasswordReset(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("sendPasswordReset", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventSendPasswordReset, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "email", email) @@ -1936,7 +1936,7 @@ func login(c *Context, w http.ResponseWriter, r *http.Request) { } } - auditRec := c.MakeAuditRecord("login", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLogin, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "login_id", loginId) model.AddEventParameterToAuditRec(auditRec, "device_id", deviceId) @@ -2074,7 +2074,7 @@ func loginCWS(c *Context, w http.ResponseWriter, r *http.Request) { } } - auditRec := c.MakeAuditRecord("login", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLogin, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "login_id", loginID) user, err := c.App.AuthenticateUserForLogin(c.AppContext, "", loginID, "", "", token, false) @@ -2124,7 +2124,7 @@ func logout(c *Context, w http.ResponseWriter, r *http.Request) { } func Logout(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("Logout", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLogout, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.LogAudit("") @@ -2178,7 +2178,7 @@ func revokeSession(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("revokeSession", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRevokeSession, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionToUser(*c.AppContext.Session(), c.Params.UserId) { @@ -2225,7 +2225,7 @@ func revokeAllSessionsForUser(c *Context, w http.ResponseWriter, r *http.Request return } - auditRec := c.MakeAuditRecord("revokeAllSessionsForUser", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRevokeAllSessionsForUser, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "user_id", c.Params.UserId) @@ -2251,7 +2251,7 @@ func revokeAllSessionsAllUsers(c *Context, w http.ResponseWriter, r *http.Reques return } - auditRec := c.MakeAuditRecord("revokeAllSessionsAllUsers", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRevokeAllSessionsAllUsers, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if err := c.App.RevokeSessionsFromAllUsers(); err != nil { @@ -2308,7 +2308,7 @@ func handleDeviceProps(c *Context, w http.ResponseWriter, r *http.Request) { } func attachDeviceId(c *Context, w http.ResponseWriter, r *http.Request, deviceId string) { - auditRec := c.MakeAuditRecord("attachDeviceId", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAttachDeviceId, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "device_id", deviceId) @@ -2363,7 +2363,7 @@ func getUserAudits(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("getUserAudits", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventGetUserAudits, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "user_id", c.Params.UserId) defer c.LogAuditRec(auditRec) @@ -2400,7 +2400,7 @@ func verifyUserEmail(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("verifyUserEmail", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventVerifyUserEmail, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if err := c.App.VerifyEmailFromToken(c.AppContext, token); err != nil { @@ -2425,7 +2425,7 @@ func sendVerificationEmail(c *Context, w http.ResponseWriter, r *http.Request) { } redirect := r.URL.Query().Get("r") - auditRec := c.MakeAuditRecord("sendVerificationEmail", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventSendVerificationEmail, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "email", email) model.AddEventParameterToAuditRec(auditRec, "redirect", redirect) @@ -2456,7 +2456,7 @@ func switchAccountType(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("switchAccountType", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventSwitchAccountType, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "switch_request", &switchRequest) @@ -2500,7 +2500,7 @@ func createUserAccessToken(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("createUserAccessToken", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateUserAccessToken, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "user_id", c.Params.UserId) defer c.LogAuditRec(auditRec) @@ -2695,7 +2695,7 @@ func revokeUserAccessToken(c *Context, w http.ResponseWriter, r *http.Request) { c.SetInvalidParam("token_id") } - auditRec := c.MakeAuditRecord("revokeUserAccessToken", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRevokeUserAccessToken, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "token_id", tokenId) c.LogAudit("") @@ -2739,7 +2739,7 @@ func disableUserAccessToken(c *Context, w http.ResponseWriter, r *http.Request) c.SetInvalidParam("token_id") } - auditRec := c.MakeAuditRecord("disableUserAccessToken", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDisableUserAccessToken, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "token_id", tokenId) defer c.LogAuditRec(auditRec) c.LogAudit("") @@ -2784,7 +2784,7 @@ func enableUserAccessToken(c *Context, w http.ResponseWriter, r *http.Request) { c.SetInvalidParam("token_id") } - auditRec := c.MakeAuditRecord("enableUserAccessToken", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventEnableUserAccessToken, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "token_id", tokenId) c.LogAudit("") @@ -2824,7 +2824,7 @@ func enableUserAccessToken(c *Context, w http.ResponseWriter, r *http.Request) { func saveUserTermsOfService(c *Context, w http.ResponseWriter, r *http.Request) { props := model.StringInterfaceFromJSON(r.Body) - auditRec := c.MakeAuditRecord("saveUserTermsOfService", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventSaveUserTermsOfService, model.AuditStatusFail) defer c.LogAuditRec(auditRec) userId := c.AppContext.Session().UserId @@ -2879,7 +2879,7 @@ func promoteGuestToUser(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("promoteGuestToUser", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventPromoteGuestToUser, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "user_id", c.Params.UserId) @@ -2932,7 +2932,7 @@ func demoteUserToGuest(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("demoteUserToGuest", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDemoteUserToGuest, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "user_id", c.Params.UserId) defer c.LogAuditRec(auditRec) @@ -3010,7 +3010,7 @@ func verifyUserEmailWithoutToken(c *Context, w http.ResponseWriter, r *http.Requ return } - auditRec := c.MakeAuditRecord("verifyUserEmailWithoutToken", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventVerifyUserEmailWithoutToken, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "user_id", c.Params.UserId) defer c.LogAuditRec(auditRec) auditRec.AddMeta("user_id", user.Id) @@ -3045,7 +3045,7 @@ func convertUserToBot(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("convertUserToBot", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventConvertUserToBot, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "user_id", c.Params.UserId) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "user", user) @@ -3199,7 +3199,7 @@ func migrateAuthToLDAP(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("migrateAuthToLdap", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventMigrateAuthToLdap, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "from", from) model.AddEventParameterToAuditRec(auditRec, "force", force) @@ -3258,7 +3258,7 @@ func migrateAuthToSaml(c *Context, w http.ResponseWriter, r *http.Request) { } usersMap := model.MapFromJSON(strings.NewReader(model.StringInterfaceToJSON(matches))) - auditRec := c.MakeAuditRecord("migrateAuthToSaml", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventMigrateAuthToSaml, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "from", from) model.AddEventParameterToAuditRec(auditRec, "auto", auto) @@ -3409,7 +3409,7 @@ func updateReadStateThreadByUser(c *Context, w http.ResponseWriter, r *http.Requ return } - auditRec := c.MakeAuditRecord("updateReadStateThreadByUser", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateReadStateThreadByUser, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "user_id", c.Params.UserId) model.AddEventParameterToAuditRec(auditRec, "thread_id", c.Params.ThreadId) @@ -3443,7 +3443,7 @@ func setUnreadThreadByPostId(c *Context, w http.ResponseWriter, r *http.Request) return } - auditRec := c.MakeAuditRecord("setUnreadThreadByPostId", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventSetUnreadThreadByPostId, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "user_id", c.Params.UserId) model.AddEventParameterToAuditRec(auditRec, "thread_id", c.Params.ThreadId) @@ -3487,7 +3487,7 @@ func unfollowThreadByUser(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("unfollowThreadByUser", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUnfollowThreadByUser, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "user_id", c.Params.UserId) model.AddEventParameterToAuditRec(auditRec, "thread_id", c.Params.ThreadId) @@ -3519,7 +3519,7 @@ func followThreadByUser(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("followThreadByUser", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventFollowThreadByUser, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "user_id", c.Params.UserId) model.AddEventParameterToAuditRec(auditRec, "thread_id", c.Params.ThreadId) @@ -3551,7 +3551,7 @@ func updateReadStateAllThreadsByUser(c *Context, w http.ResponseWriter, r *http. return } - auditRec := c.MakeAuditRecord("updateReadStateAllThreadsByUser", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateReadStateAllThreadsByUser, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "user_id", c.Params.UserId) model.AddEventParameterToAuditRec(auditRec, "team_id", c.Params.TeamId) @@ -3605,7 +3605,7 @@ func resetPasswordFailedAttempts(c *Context, w http.ResponseWriter, r *http.Requ } errParams := map[string]any{"userID": c.Params.UserId} - auditRec := c.MakeAuditRecord("resetPasswordFailedAttempts", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventResetPasswordFailedAttempts, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if !c.App.SessionHasPermissionTo(*c.AppContext.Session(), model.PermissionSysconsoleWriteUserManagementUsers) { diff --git a/server/channels/api4/user_local.go b/server/channels/api4/user_local.go index edb0e9d9617..62753339954 100644 --- a/server/channels/api4/user_local.go +++ b/server/channels/api4/user_local.go @@ -319,7 +319,7 @@ func localDeleteUser(c *Context, w http.ResponseWriter, r *http.Request) { userId := c.Params.UserId - auditRec := c.MakeAuditRecord("localDeleteUser", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalDeleteUser, model.AuditStatusFail) defer c.LogAuditRec(auditRec) user, err := c.App.GetUser(userId) @@ -346,7 +346,7 @@ func localDeleteUser(c *Context, w http.ResponseWriter, r *http.Request) { } func localPermanentDeleteAllUsers(c *Context, w http.ResponseWriter, r *http.Request) { - auditRec := c.MakeAuditRecord("localPermanentDeleteAllUsers", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalPermanentDeleteAllUsers, model.AuditStatusFail) defer c.LogAuditRec(auditRec) if err := c.App.PermanentDeleteAllUsers(c.AppContext); err != nil { diff --git a/server/channels/api4/webhook.go b/server/channels/api4/webhook.go index 0e63a2acac9..a5c7a9e0953 100644 --- a/server/channels/api4/webhook.go +++ b/server/channels/api4/webhook.go @@ -39,7 +39,7 @@ func createIncomingHook(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("createIncomingHook", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateIncomingHook, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "incoming_webhook", &hook) model.AddEventParameterAuditableToAuditRec(auditRec, "channel", channel) @@ -107,7 +107,7 @@ func updateIncomingHook(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updateIncomingHook", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateIncomingHook, model.AuditStatusFail) model.AddEventParameterToAuditRec(auditRec, "hook_id", c.Params.HookId) model.AddEventParameterAuditableToAuditRec(auditRec, "updated_hook", &updatedHook) defer c.LogAuditRec(auditRec) @@ -260,7 +260,7 @@ func getIncomingHook(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("getIncomingHook", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventGetIncomingHook, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "hook_id", c.Params.HookId) auditRec.AddMeta("hook_id", hook.Id) @@ -320,7 +320,7 @@ func deleteIncomingHook(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("deleteIncomingHook", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteIncomingHook, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "hook_id", c.Params.HookId) auditRec.AddMeta("hook_id", hook.Id) @@ -371,7 +371,7 @@ func updateOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("updateOutgoingHook", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventUpdateOutgoingHook, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "updated_hook", &updatedHook) c.LogAudit("attempt") @@ -425,7 +425,7 @@ func createOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("createOutgoingHook", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateOutgoingHook, model.AuditStatusFail) model.AddEventParameterAuditableToAuditRec(auditRec, "hook", &hook) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") @@ -546,7 +546,7 @@ func getOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("getOutgoingHook", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventGetOutgoingHook, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "hook_id", c.Params.HookId) auditRec.AddMeta("hook_id", hook.Id) @@ -586,7 +586,7 @@ func regenOutgoingHookToken(c *Context, w http.ResponseWriter, r *http.Request) return } - auditRec := c.MakeAuditRecord("regenOutgoingHookToken", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventRegenOutgoingHookToken, model.AuditStatusFail) defer c.LogAuditRec(auditRec) auditRec.AddMeta("hook_id", hook.Id) auditRec.AddMeta("hook_display", hook.DisplayName) @@ -633,7 +633,7 @@ func deleteOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("deleteOutgoingHook", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeleteOutgoingHook, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "hook_id", c.Params.HookId) auditRec.AddMeta("hook_id", hook.Id) diff --git a/server/channels/api4/webhook_local.go b/server/channels/api4/webhook_local.go index bc36e8e3794..de39f90311e 100644 --- a/server/channels/api4/webhook_local.go +++ b/server/channels/api4/webhook_local.go @@ -48,7 +48,7 @@ func localCreateIncomingHook(c *Context, w http.ResponseWriter, r *http.Request) return } - auditRec := c.MakeAuditRecord("localCreateIncomingHook", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLocalCreateIncomingHook, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "hook", &hook) model.AddEventParameterAuditableToAuditRec(auditRec, "channel", channel) @@ -78,7 +78,7 @@ func localCreateOutgoingHook(c *Context, w http.ResponseWriter, r *http.Request) return } - auditRec := c.MakeAuditRecord("createOutgoingHook", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCreateOutgoingHook, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterAuditableToAuditRec(auditRec, "hook", &hook) c.LogAudit("attempt") diff --git a/server/channels/app/session.go b/server/channels/app/session.go index fd85973e77b..c61f31f6e7e 100644 --- a/server/channels/app/session.go +++ b/server/channels/app/session.go @@ -345,7 +345,7 @@ func (a *App) ExtendSessionExpiryIfNeeded(rctx request.CTX, session *model.Sessi return false } - auditRec := a.MakeAuditRecord(rctx, "extendSessionExpiry", model.AuditStatusFail) + auditRec := a.MakeAuditRecord(rctx, model.AuditEventExtendSessionExpiry, model.AuditStatusFail) defer a.LogAuditRec(rctx, auditRec, nil) auditRec.AddEventPriorState(session) diff --git a/server/channels/web/oauth.go b/server/channels/web/oauth.go index 44f94a8612a..3d13cefe269 100644 --- a/server/channels/web/oauth.go +++ b/server/channels/web/oauth.go @@ -64,7 +64,7 @@ func authorizeOAuthApp(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("authorizeOAuthApp", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAuthorizeOAuthApp, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") @@ -92,7 +92,7 @@ func deauthorizeOAuthApp(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("deauthorizeOAuthApp", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventDeauthorizeOAuthApp, model.AuditStatusFail) auditRec.AddMeta("client_id", clientId) defer c.LogAuditRec(auditRec) @@ -134,7 +134,7 @@ func authorizeOAuthPage(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("authorizeOAuthPage", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventAuthorizeOAuthPage, model.AuditStatusFail) auditRec.AddMeta("client_id", authRequest.ClientId) auditRec.AddMeta("scope", authRequest.Scope) defer c.LogAuditRec(auditRec) @@ -242,7 +242,7 @@ func getAccessToken(c *Context, w http.ResponseWriter, r *http.Request) { redirectURI := r.FormValue("redirect_uri") - auditRec := c.MakeAuditRecord("getAccessToken", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventGetAccessToken, model.AuditStatusFail) defer c.LogAuditRec(auditRec) auditRec.AddMeta("grant_type", grantType) auditRec.AddMeta("client_id", clientId) @@ -274,7 +274,7 @@ func completeOAuth(c *Context, w http.ResponseWriter, r *http.Request) { service := c.Params.Service - auditRec := c.MakeAuditRecord("completeOAuth", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCompleteOAuth, model.AuditStatusFail) defer c.LogAuditRec(auditRec) model.AddEventParameterToAuditRec(auditRec, "service", service) @@ -439,7 +439,7 @@ func loginWithOAuth(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("loginWithOAuth", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventLoginWithOAuth, model.AuditStatusFail) auditRec.AddMeta("service", c.Params.Service) defer c.LogAuditRec(auditRec) @@ -475,7 +475,7 @@ func mobileLoginWithOAuth(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("mobileLoginWithOAuth", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventMobileLoginWithOAuth, model.AuditStatusFail) auditRec.AddMeta("service", c.Params.Service) defer c.LogAuditRec(auditRec) @@ -510,7 +510,7 @@ func signupWithOAuth(c *Context, w http.ResponseWriter, r *http.Request) { return } - auditRec := c.MakeAuditRecord("signupWithOAuth", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventSignupWithOAuth, model.AuditStatusFail) auditRec.AddMeta("service", c.Params.Service) defer c.LogAuditRec(auditRec) diff --git a/server/channels/web/saml.go b/server/channels/web/saml.go index 13d8502f49e..45bc44bcc1e 100644 --- a/server/channels/web/saml.go +++ b/server/channels/web/saml.go @@ -103,7 +103,7 @@ func completeSaml(c *Context, w http.ResponseWriter, r *http.Request) { relayProps = model.MapFromJSON(strings.NewReader(stateStr)) } - auditRec := c.MakeAuditRecord("completeSaml", model.AuditStatusFail) + auditRec := c.MakeAuditRecord(model.AuditEventCompleteSaml, model.AuditStatusFail) defer c.LogAuditRec(auditRec) c.LogAudit("attempt") diff --git a/server/cmd/mattermost/commands/export.go b/server/cmd/mattermost/commands/export.go index 52031747ca3..3dca195c596 100644 --- a/server/cmd/mattermost/commands/export.go +++ b/server/cmd/mattermost/commands/export.go @@ -111,7 +111,7 @@ func scheduleExportCmdF(command *cobra.Command, args []string) error { } else { CommandPrettyPrintln("SUCCESS: Message export job complete") - auditRec := a.MakeAuditRecord(rctx, "scheduleExport", model.AuditStatusSuccess) + auditRec := a.MakeAuditRecord(rctx, model.AuditEventScheduleExport, model.AuditStatusSuccess) auditRec.AddMeta("format", format) auditRec.AddMeta("start", startTime) a.LogAuditRec(rctx, auditRec, nil) @@ -178,7 +178,7 @@ func bulkExportCmdF(command *cobra.Command, args []string) error { return err } - auditRec := a.MakeAuditRecord(rctx, "bulkExport", model.AuditStatusSuccess) + auditRec := a.MakeAuditRecord(rctx, model.AuditEventBulkExport, model.AuditStatusSuccess) auditRec.AddMeta("all_teams", allTeams) auditRec.AddMeta("file", args[0]) a.LogAuditRec(rctx, auditRec, nil) diff --git a/server/cmd/mattermost/commands/import.go b/server/cmd/mattermost/commands/import.go index b2fd9a7ecbd..85448c62e81 100644 --- a/server/cmd/mattermost/commands/import.go +++ b/server/cmd/mattermost/commands/import.go @@ -93,7 +93,7 @@ func slackImportCmdF(command *cobra.Command, args []string) error { CommandPrettyPrintln("Finished Slack Import.") CommandPrettyPrintln("") - auditRec := a.MakeAuditRecord(rctx, "slackImport", model.AuditStatusSuccess) + auditRec := a.MakeAuditRecord(rctx, model.AuditEventSlackImport, model.AuditStatusSuccess) auditRec.AddMeta("team", team) auditRec.AddMeta("file", args[1]) a.LogAuditRec(rctx, auditRec, nil) @@ -165,7 +165,7 @@ func bulkImportCmdF(command *cobra.Command, args []string) error { if apply { CommandPrettyPrintln("Finished Bulk Import.") - auditRec := a.MakeAuditRecord(rctx, "bulkImport", model.AuditStatusSuccess) + auditRec := a.MakeAuditRecord(rctx, model.AuditEventBulkImport, model.AuditStatusSuccess) auditRec.AddMeta("file", args[0]) a.LogAuditRec(rctx, auditRec, nil) } else { diff --git a/server/cmd/mattermost/commands/jobserver.go b/server/cmd/mattermost/commands/jobserver.go index 4ffe0c980d2..1cc71e82c4b 100644 --- a/server/cmd/mattermost/commands/jobserver.go +++ b/server/cmd/mattermost/commands/jobserver.go @@ -59,7 +59,7 @@ func jobserverCmdF(command *cobra.Command, args []string) error { } if !noJobs || !noSchedule { - auditRec := a.MakeAuditRecord(rctx, "jobServer", model.AuditStatusSuccess) + auditRec := a.MakeAuditRecord(rctx, model.AuditEventJobServer, model.AuditStatusSuccess) a.LogAuditRec(rctx, auditRec, nil) } diff --git a/server/public/model/audit_events.go b/server/public/model/audit_events.go new file mode 100644 index 00000000000..4282c1b6c3a --- /dev/null +++ b/server/public/model/audit_events.go @@ -0,0 +1,429 @@ +// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. +// See LICENSE.txt for license information. + +package model + +// Access Control & Security +const ( + AuditEventApplyIPFilters = "applyIPFilters" // apply IP address filtering + AuditEventAssignAccessPolicy = "assignAccessPolicy" // assign access control policy to channels + AuditEventCreateAccessControlPolicy = "createAccessControlPolicy" // create access control policy + AuditEventDeleteAccessControlPolicy = "deleteAccessControlPolicy" // delete access control policy + AuditEventUnassignAccessPolicy = "unassignAccessPolicy" // remove access control policy from channels + AuditEventUpdateActiveStatus = "updateActiveStatus" // update active/inactive status of access control policy +) + +// Audit & Certificates +const ( + AuditEventAddAuditLogCertificate = "addAuditLogCertificate" // add certificate for secure audit log transmission + AuditEventGetAudits = "getAudits" // get audit log entries + AuditEventGetUserAudits = "getUserAudits" // get audit log entries for specific user + AuditEventRemoveAuditLogCertificate = "removeAuditLogCertificate" // remove certificate used for audit log transmission +) + +// Bots +const ( + AuditEventAssignBot = "assignBot" // assign bot to user + AuditEventConvertBotToUser = "convertBotToUser" // convert bot account to regular user account + AuditEventConvertUserToBot = "convertUserToBot" // convert regular user account to bot account + AuditEventCreateBot = "createBot" // create bot account + AuditEventPatchBot = "patchBot" // update bot properties + AuditEventUpdateBotActive = "updateBotActive" // enable or disable bot account +) + +// Branding +const ( + AuditEventDeleteBrandImage = "deleteBrandImage" // delete brand image + AuditEventUploadBrandImage = "uploadBrandImage" // upload brand image +) + +// Channel Bookmarks +const ( + AuditEventCreateChannelBookmark = "createChannelBookmark" // create bookmark in channels + AuditEventDeleteChannelBookmark = "deleteChannelBookmark" // delete bookmark + AuditEventUpdateChannelBookmark = "updateChannelBookmark" // update bookmark + AuditEventUpdateChannelBookmarkSortOrder = "updateChannelBookmarkSortOrder" // update display order of bookmarks +) + +// Channel Categories +const ( + AuditEventCreateCategoryForTeamForUser = "createCategoryForTeamForUser" // create channel category for user + AuditEventDeleteCategoryForTeamForUser = "deleteCategoryForTeamForUser" // delete channel category + AuditEventUpdateCategoriesForTeamForUser = "updateCategoriesForTeamForUser" // update multiple channel categories + AuditEventUpdateCategoryForTeamForUser = "updateCategoryForTeamForUser" // update single channel category + AuditEventUpdateCategoryOrderForTeamForUser = "updateCategoryOrderForTeamForUser" // update display order of the categories +) + +// Channels +const ( + AuditEventAddChannelMember = "addChannelMember" // add member to channel + AuditEventConvertGroupMessageToChannel = "convertGroupMessageToChannel" // convert group message to private channel + AuditEventCreateChannel = "createChannel" // create public or private channel + AuditEventCreateDirectChannel = "createDirectChannel" // create direct message channel between two users + AuditEventCreateGroupChannel = "createGroupChannel" // create group message channel with multiple users + AuditEventDeleteChannel = "deleteChannel" // delete channel + AuditEventLocalAddChannelMember = "localAddChannelMember" // add channel member locally + AuditEventLocalCreateChannel = "localCreateChannel" // create channel locally + AuditEventLocalDeleteChannel = "localDeleteChannel" // delete channel locally + AuditEventLocalMoveChannel = "localMoveChannel" // move channel locally + AuditEventLocalPatchChannel = "localPatchChannel" // patch channel locally + AuditEventLocalRemoveChannelMember = "localRemoveChannelMember" // remove channel member locally + AuditEventLocalRestoreChannel = "localRestoreChannel" // restore channel locally + AuditEventLocalUpdateChannelPrivacy = "localUpdateChannelPrivacy" // update channel privacy locally + AuditEventMoveChannel = "moveChannel" // move channel to different team + AuditEventPatchChannel = "patchChannel" // update channel properties + AuditEventPatchChannelModerations = "patchChannelModerations" // update channel moderation settings + AuditEventRemoveChannelMember = "removeChannelMember" // remove member from channel + AuditEventRestoreChannel = "restoreChannel" // restore previously deleted channel + AuditEventUpdateChannel = "updateChannel" // update channel properties + AuditEventUpdateChannelMemberNotifyProps = "updateChannelMemberNotifyProps" // update notification preferences + AuditEventUpdateChannelMemberRoles = "updateChannelMemberRoles" // update roles and permissions + AuditEventUpdateChannelMemberSchemeRoles = "updateChannelMemberSchemeRoles" // update scheme-based roles + AuditEventUpdateChannelPrivacy = "updateChannelPrivacy" // change channel privacy settings + AuditEventUpdateChannelScheme = "updateChannelScheme" // update permission scheme applied to channel +) + +// Commands +const ( + AuditEventCreateCommand = "createCommand" // create slash command + AuditEventDeleteCommand = "deleteCommand" // delete command + AuditEventExecuteCommand = "executeCommand" // execute command + AuditEventLocalCreateCommand = "localCreateCommand" // create command locally + AuditEventMoveCommand = "moveCommand" // move command to another team + AuditEventRegenCommandToken = "regenCommandToken" // regenerate authentication token for command + AuditEventUpdateCommand = "updateCommand" // update command +) + +// Compliance +const ( + AuditEventCreateComplianceReport = "createComplianceReport" // create compliance report + AuditEventDownloadComplianceReport = "downloadComplianceReport" // download compliance report + AuditEventGetComplianceReport = "getComplianceReport" // get specific compliance report + AuditEventGetComplianceReports = "getComplianceReports" // get all compliance reports +) + +// Configuration +const ( + AuditEventConfigReload = "configReload" // reload server configuration + AuditEventGetConfig = "getConfig" // get current server configuration + AuditEventLocalGetClientConfig = "localGetClientConfig" // get client configuration locally + AuditEventLocalGetConfig = "localGetConfig" // get server configuration locally + AuditEventLocalPatchConfig = "localPatchConfig" // update server configuration locally + AuditEventLocalUpdateConfig = "localUpdateConfig" // update server configuration locally + AuditEventMigrateConfig = "migrateConfig" // migrate configs with file values from one store to another + AuditEventPatchConfig = "patchConfig" // update server configuration + AuditEventUpdateConfig = "updateConfig" // update server configuration +) + +// Custom Profile Attributes +const ( + AuditEventCreateCPAField = "createCPAField" // create custom profile attribute + AuditEventDeleteCPAField = "deleteCPAField" // delete custom profile attribute + AuditEventPatchCPAField = "patchCPAField" // update custom profile attribute field + AuditEventPatchCPAValues = "patchCPAValues" // update custom profile attribute values +) + +// Data Retention Policies +const ( + AuditEventAddChannelsToPolicy = "addChannelsToPolicy" // add channels to data retention policy + AuditEventAddTeamsToPolicy = "addTeamsToPolicy" // add teams to data retention policy + AuditEventCreatePolicy = "createPolicy" // create data retention policy + AuditEventDeletePolicy = "deletePolicy" // delete data retention policy + AuditEventPatchPolicy = "patchPolicy" // update data retention policy + AuditEventRemoveChannelsFromPolicy = "removeChannelsFromPolicy" // remove channels from data retention policy + AuditEventRemoveTeamsFromPolicy = "removeTeamsFromPolicy" // remove teams from data retention policy +) + +// Emojis +const ( + AuditEventCreateEmoji = "createEmoji" // create emoji + AuditEventDeleteEmoji = "deleteEmoji" // delete emoji +) + +// Exports +const ( + AuditEventBulkExport = "bulkExport" // bulk export data to a file + AuditEventDeleteExport = "deleteExport" // delete exported file + AuditEventGeneratePresignURLExport = "generatePresignURLExport" // generate presigned URL to download the exported file + AuditEventScheduleExport = "scheduleExport" // schedule export job +) + +// Files +const ( + AuditEventGetFile = "getFile" // get or download file + AuditEventGetFileLink = "getFileLink" // generate link for file sharing + AuditEventUploadFileMultipart = "uploadFileMultipart" // upload file using multipart form data + AuditEventUploadFileMultipartLegacy = "uploadFileMultipartLegacy" // upload file using legacy multipart method + AuditEventUploadFileSimple = "uploadFileSimple" // upload file using simple direct upload method +) + +// Groups +const ( + AuditEventAddGroupMembers = "addGroupMembers" // add members to group + AuditEventAddUserToGroupSyncables = "addUserToGroupSyncables" // add user to group-synchronized teams and channels + AuditEventCreateGroup = "createGroup" // create group + AuditEventDeleteGroup = "deleteGroup" // delete group + AuditEventDeleteGroupMembers = "deleteGroupMembers" // remove members from group + AuditEventLinkGroupSyncable = "linkGroupSyncable" // link group to team or channel for synchronization + AuditEventPatchGroup = "patchGroup" // update group + AuditEventPatchGroupSyncable = "patchGroupSyncable" // update group synchronization settings + AuditEventRestoreGroup = "restoreGroup" // restore previously deleted group + AuditEventUnlinkGroupSyncable = "unlinkGroupSyncable" // unlink group from team or channel synchronization +) + +// Imports +const ( + AuditEventBulkImport = "bulkImport" // bulk import data from a file + AuditEventDeleteImport = "deleteImport" // delete import file + AuditEventSlackImport = "slackImport" // import data from Slack +) + +// Jobs +const ( + AuditEventCancelJob = "cancelJob" // cancel a job + AuditEventCreateJob = "createJob" // create a job + AuditEventJobServer = "jobServer" // start job server + AuditEventUpdateJobStatus = "updateJobStatus" // update status of a job +) + +// LDAP +const ( + AuditEventAddLdapPrivateCertificate = "addLdapPrivateCertificate" // add private certificate for LDAP + AuditEventAddLdapPublicCertificate = "addLdapPublicCertificate" // add public certificate for LDAP + AuditEventIdMigrateLdap = "idMigrateLdap" // migrate user ID mapping to another attribute + AuditEventLinkLdapGroup = "linkLdapGroup" // link LDAP group to Mattermost team or channel + AuditEventRemoveLdapPrivateCertificate = "removeLdapPrivateCertificate" // remove private certificate for LDAP + AuditEventRemoveLdapPublicCertificate = "removeLdapPublicCertificate" // remove public certificate for LDAP + AuditEventSyncLdap = "syncLdap" // synchronize users and groups from LDAP + AuditEventUnlinkLdapGroup = "unlinkLdapGroup" // unlink LDAP group from Mattermost team or channel +) + +// Licensing +const ( + AuditEventAddLicense = "addLicense" // add license + AuditEventLocalAddLicense = "localAddLicense" // add license locally + AuditEventLocalRemoveLicense = "localRemoveLicense" // remove license locally + AuditEventRemoveLicense = "removeLicense" // remove license + AuditEventRequestTrialLicense = "requestTrialLicense" // request trial license +) + +// OAuth +const ( + AuditEventAuthorizeOAuthApp = "authorizeOAuthApp" // authorize OAuth app + AuditEventAuthorizeOAuthPage = "authorizeOAuthPage" // authorize OAuth page + AuditEventCompleteOAuth = "completeOAuth" // complete OAuth authorization flow + AuditEventCreateOAuthApp = "createOAuthApp" // create OAuth app + AuditEventCreateOutgoingOauthConnection = "createOutgoingOauthConnection" // create outgoing OAuth connection + AuditEventDeauthorizeOAuthApp = "deauthorizeOAuthApp" // revoke OAuth app authorization + AuditEventDeleteOAuthApp = "deleteOAuthApp" // delete OAuth app + AuditEventDeleteOutgoingOAuthConnection = "deleteOutgoingOAuthConnection" // delete outgoing OAuth connection + AuditEventGetAccessToken = "getAccessToken" // get OAuth access token + AuditEventLoginWithOAuth = "loginWithOAuth" // login using OAuth authentication provider + AuditEventMobileLoginWithOAuth = "mobileLoginWithOAuth" // mobile application login using OAuth authentication provider + AuditEventRegenerateOAuthAppSecret = "regenerateOAuthAppSecret" // regenerate secret key for OAuth app + AuditEventSignupWithOAuth = "signupWithOAuth" // create account using OAuth authentication provider + AuditEventUpdateOAuthApp = "updateOAuthApp" // update OAuth app + AuditEventUpdateOutgoingOAuthConnection = "updateOutgoingOAuthConnection" // update outgoing OAuth connection + AuditEventValidateOutgoingOAuthConnectionCredentials = "validateOutgoingOAuthConnectionCredentials" // validate credentials for outgoing OAuth connection + +) + +// Plugins +const ( + AuditEventDisablePlugin = "disablePlugin" // disable installed plugin + AuditEventEnablePlugin = "enablePlugin" // enable installed plugin + AuditEventGetFirstAdminVisitMarketplaceStatus = "getFirstAdminVisitMarketplaceStatus" // get first admin visit status + AuditEventInstallMarketplacePlugin = "installMarketplacePlugin" // install plugin from official marketplace + AuditEventInstallPluginFromURL = "installPluginFromURL" // install plugin from external URL + AuditEventRemovePlugin = "removePlugin" // delete plugin + AuditEventSetFirstAdminVisitMarketplaceStatus = "setFirstAdminVisitMarketplaceStatus" // set first admin visit status + AuditEventUploadPlugin = "uploadPlugin" // upload plugin file to server for installation +) + +// Posts +const ( + AuditEventCreatePost = "createPost" // create post + AuditEventDeletePost = "deletePost" // delete post + AuditEventLocalDeletePost = "localDeletePost" // delete post locally + AuditEventMoveThread = "moveThread" // move thread and replies to different channel + AuditEventPatchPost = "patchPost" // update post meta properties + AuditEventRestorePostVersion = "restorePostVersion" // restore post to previous version + AuditEventSaveIsPinnedPost = "saveIsPinnedPost" // pin or unpin post + AuditEventSearchPosts = "searchPosts" // search for posts + AuditEventUpdatePost = "updatePost" // update post content +) + +// Preferences +const ( + AuditEventDeletePreferences = "deletePreferences" // delete user preferences + AuditEventUpdatePreferences = "updatePreferences" // update user preferences +) + +// Remote Clusters +const ( + AuditEventCreateRemoteCluster = "createRemoteCluster" // create connection to remote Mattermost cluster + AuditEventDeleteRemoteCluster = "deleteRemoteCluster" // delete connection to remote Mattermost cluster + AuditEventGenerateRemoteClusterInvite = "generateRemoteClusterInvite" // generate invitation token for remote cluster connection + AuditEventInviteRemoteClusterToChannel = "inviteRemoteClusterToChannel" // invite remote cluster users to shared channel + AuditEventPatchRemoteCluster = "patchRemoteCluster" // update remote cluster connection settings + AuditEventRemoteClusterAcceptInvite = "remoteClusterAcceptInvite" // accept invitation from remote cluster + AuditEventRemoteClusterAcceptMessage = "remoteClusterAcceptMessage" // accept message from remote cluster + AuditEventRemoteUploadProfileImage = "remoteUploadProfileImage" // upload profile image from remote cluster + AuditEventUninviteRemoteClusterToChannel = "uninviteRemoteClusterToChannel" // remove remote cluster access from shared channel + AuditEventUploadRemoteData = "uploadRemoteData" // upload data to remote cluster +) + +// Roles +const ( + AuditEventPatchRole = "patchRole" // update role permissions +) + +// SAML +const ( + AuditEventAddSamlIdpCertificate = "addSamlIdpCertificate" // add SAML identity provider certificate + AuditEventAddSamlPrivateCertificate = "addSamlPrivateCertificate" // add SAML private certificate + AuditEventAddSamlPublicCertificate = "addSamlPublicCertificate" // add SAML public certificate + AuditEventCompleteSaml = "completeSaml" // complete SAML authentication flow + AuditEventRemoveSamlIdpCertificate = "removeSamlIdpCertificate" // remove SAML identity provider certificate + AuditEventRemoveSamlPrivateCertificate = "removeSamlPrivateCertificate" // remove SAML private certificate + AuditEventRemoveSamlPublicCertificate = "removeSamlPublicCertificate" // remove SAML public certificate +) + +// Scheduled Posts +const ( + AuditEventCreateSchedulePost = "createSchedulePost" // create post scheduled for future delivery + AuditEventDeleteScheduledPost = "deleteScheduledPost" // delete scheduled post before delivery + AuditEventUpdateScheduledPost = "updateScheduledPost" // update scheduled post +) + +// Schemes +const ( + AuditEventCreateScheme = "createScheme" // create permission scheme with role definitions + AuditEventDeleteScheme = "deleteScheme" // delete scheme + AuditEventPatchScheme = "patchScheme" // update scheme +) + +// Search Indexes +const ( + AuditEventPurgeBleveIndexes = "purgeBleveIndexes" // purge Bleve search indexes + AuditEventPurgeElasticsearchIndexes = "purgeElasticsearchIndexes" // purge Elasticsearch search indexes +) + +// Server Administration +const ( + AuditEventClearServerBusy = "clearServerBusy" // clear server busy status to allow normal operations + AuditEventCompleteOnboarding = "completeOnboarding" // complete system onboarding process + AuditEventDatabaseRecycle = "databaseRecycle" // closes active connections + AuditEventDownloadLogs = "downloadLogs" // download server log files + AuditEventGetAppliedSchemaMigrations = "getAppliedSchemaMigrations" // get list of applied database schema migrations + AuditEventGetLogs = "getLogs" // get server log entries + AuditEventGetOnboarding = "getOnboarding" // get system onboarding status + AuditEventInvalidateCaches = "invalidateCaches" // clear server caches + AuditEventLocalCheckIntegrity = "localCheckIntegrity" // check database integrity locally + AuditEventQueryLogs = "queryLogs" // search server log entries + AuditEventRestartServer = "restartServer" // restart Mattermost server process + AuditEventSetServerBusy = "setServerBusy" // set server busy status to disallow any operations + AuditEventUpdateViewedProductNotices = "updateViewedProductNotices" // update viewed status of product notices + AuditEventUpgradeToEnterprise = "upgradeToEnterprise" // upgrade server to Enterprise edition +) + +// Teams +const ( + AuditEventAddTeamMember = "addTeamMember" // add member to team + AuditEventAddTeamMembers = "addTeamMembers" // add multiple members to team + AuditEventAddUserToTeamFromInvite = "addUserToTeamFromInvite" // add user to team using invitation link + AuditEventCreateTeam = "createTeam" // create team + AuditEventDeleteTeam = "deleteTeam" // delete team + AuditEventImportTeam = "importTeam" // import team data from external source + AuditEventInvalidateAllEmailInvites = "invalidateAllEmailInvites" // invalidate all pending email invitations + AuditEventInviteGuestsToChannels = "inviteGuestsToChannels" // invite guest users to specific channels + AuditEventInviteUsersToTeam = "inviteUsersToTeam" // invite users to team + AuditEventLocalCreateTeam = "localCreateTeam" // create team locally + AuditEventLocalDeleteTeam = "localDeleteTeam" // delete team locally + AuditEventLocalInviteUsersToTeam = "localInviteUsersToTeam" // invite users to team locally + AuditEventPatchTeam = "patchTeam" // update team properties + AuditEventRegenerateTeamInviteId = "regenerateTeamInviteId" // regenerate team invitation ID + AuditEventRemoveTeamIcon = "removeTeamIcon" // remove custom icon from team + AuditEventRemoveTeamMember = "removeTeamMember" // remove member from team + AuditEventRestoreTeam = "restoreTeam" // restore previously deleted team + AuditEventSetTeamIcon = "setTeamIcon" // set custom icon for team + AuditEventUpdateTeam = "updateTeam" // update team properties + AuditEventUpdateTeamMemberRoles = "updateTeamMemberRoles" // update roles of team members + AuditEventUpdateTeamMemberSchemeRoles = "updateTeamMemberSchemeRoles" // update scheme-based roles of team members + AuditEventUpdateTeamPrivacy = "updateTeamPrivacy" // change team privacy settings + AuditEventUpdateTeamScheme = "updateTeamScheme" // update scheme applied to team +) + +// Terms of Service +const ( + AuditEventCreateTermsOfService = "createTermsOfService" // create terms of service + AuditEventSaveUserTermsOfService = "saveUserTermsOfService" // save user acceptance of terms of service +) + +// Threads +const ( + AuditEventFollowThreadByUser = "followThreadByUser" // follow thread to receive notifications about replies + AuditEventSetUnreadThreadByPostId = "setUnreadThreadByPostId" // mark thread as unread for user by post ID + AuditEventUnfollowThreadByUser = "unfollowThreadByUser" // unfollow thread to stop receiving notifications about replies + AuditEventUpdateReadStateAllThreadsByUser = "updateReadStateAllThreadsByUser" // update read status for all threads for user + AuditEventUpdateReadStateThreadByUser = "updateReadStateThreadByUser" // update read status for specific thread for user +) + +// Uploads +const ( + AuditEventCreateUpload = "createUpload" // create file upload session + AuditEventUploadData = "uploadData" // upload file data to server storage +) + +// Users +const ( + AuditEventAttachDeviceId = "attachDeviceId" // attach device ID to user session for mobile app + AuditEventCreateUser = "createUser" // create user account + AuditEventCreateUserAccessToken = "createUserAccessToken" // create personal access token for user API access + AuditEventDeleteUser = "deleteUser" // delete user account + AuditEventDemoteUserToGuest = "demoteUserToGuest" // demote regular user to guest account with limited permissions + AuditEventDisableUserAccessToken = "disableUserAccessToken" // disable user personal access token + AuditEventEnableUserAccessToken = "enableUserAccessToken" // enable user personal access token + AuditEventExtendSessionExpiry = "extendSessionExpiry" // extend user session expiration time + AuditEventLocalDeleteUser = "localDeleteUser" // delete user locally + AuditEventLocalPermanentDeleteAllUsers = "localPermanentDeleteAllUsers" // permanently delete all users locally + AuditEventLogin = "login" // user login to system + AuditEventLogout = "logout" // user logout from system + AuditEventMigrateAuthToLdap = "migrateAuthToLdap" // migrate user authentication method to LDAP + AuditEventMigrateAuthToSaml = "migrateAuthToSaml" // migrate user authentication method to SAML + AuditEventPatchUser = "patchUser" // update user properties + AuditEventPromoteGuestToUser = "promoteGuestToUser" // promote guest account to regular user + AuditEventResetPassword = "resetPassword" // reset user password + AuditEventResetPasswordFailedAttempts = "resetPasswordFailedAttempts" // reset failed password attempt counter + AuditEventRevokeAllSessionsAllUsers = "revokeAllSessionsAllUsers" // revoke all active sessions for all users + AuditEventRevokeAllSessionsForUser = "revokeAllSessionsForUser" // revoke all active sessions for specific user + AuditEventRevokeSession = "revokeSession" // revoke specific user session + AuditEventRevokeUserAccessToken = "revokeUserAccessToken" // revoke user personal access token + AuditEventSendPasswordReset = "sendPasswordReset" // send password reset email to user + AuditEventSendVerificationEmail = "sendVerificationEmail" // send email verification link to user + AuditEventSetDefaultProfileImage = "setDefaultProfileImage" // set user profile image to default avatar + AuditEventSetProfileImage = "setProfileImage" // set custom profile image for user + AuditEventSwitchAccountType = "switchAccountType" // switch user authentication method from one to another + AuditEventUpdatePassword = "updatePassword" // update user password + AuditEventUpdateUser = "updateUser" // update user account properties + AuditEventUpdateUserActive = "updateUserActive" // update user active status + AuditEventUpdateUserAuth = "updateUserAuth" // update user authentication method + AuditEventUpdateUserMfa = "updateUserMfa" // update user multi-factor authentication settings + AuditEventUpdateUserRoles = "updateUserRoles" // update user roles + AuditEventVerifyUserEmail = "verifyUserEmail" // verify user email address using verification token + AuditEventVerifyUserEmailWithoutToken = "verifyUserEmailWithoutToken" // verify user email address without verification token +) + +// Webhooks +const ( + AuditEventCreateIncomingHook = "createIncomingHook" // create incoming webhook + AuditEventCreateOutgoingHook = "createOutgoingHook" // create outgoing webhook + AuditEventDeleteIncomingHook = "deleteIncomingHook" // delete incoming webhook + AuditEventDeleteOutgoingHook = "deleteOutgoingHook" // delete outgoing webhook + AuditEventGetIncomingHook = "getIncomingHook" // get incoming webhook details + AuditEventGetOutgoingHook = "getOutgoingHook" // get outgoing webhook details + AuditEventLocalCreateIncomingHook = "localCreateIncomingHook" // create incoming webhook locally + AuditEventRegenOutgoingHookToken = "regenOutgoingHookToken" // regenerate authentication token + AuditEventUpdateIncomingHook = "updateIncomingHook" // update incoming webhook + AuditEventUpdateOutgoingHook = "updateOutgoingHook" // update outgoing webhook +)