[MM-64686] Expose audit logging functionality via plugin API (#31204)
This commit exposes audit logging functionality to plugins via the plugin API, allowing plugins to create and log audit records. Additionally, it addresses a gob encoding issue that could cause plugin crashes when audit data contains nil pointers or unregistered types.
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
efb960a160
Коммит
aaa62a40ae
@@ -12,7 +12,6 @@ import (
|
||||
"github.com/mattermost/mattermost/server/public/model"
|
||||
"github.com/mattermost/mattermost/server/public/shared/request"
|
||||
"github.com/mattermost/mattermost/server/v8/channels/app"
|
||||
"github.com/mattermost/mattermost/server/v8/channels/audit"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/spf13/cobra"
|
||||
@@ -112,7 +111,7 @@ func scheduleExportCmdF(command *cobra.Command, args []string) error {
|
||||
} else {
|
||||
CommandPrettyPrintln("SUCCESS: Message export job complete")
|
||||
|
||||
auditRec := a.MakeAuditRecord(rctx, "scheduleExport", audit.Success)
|
||||
auditRec := a.MakeAuditRecord(rctx, "scheduleExport", model.AuditStatusSuccess)
|
||||
auditRec.AddMeta("format", format)
|
||||
auditRec.AddMeta("start", startTime)
|
||||
a.LogAuditRec(rctx, auditRec, nil)
|
||||
@@ -179,7 +178,7 @@ func bulkExportCmdF(command *cobra.Command, args []string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
auditRec := a.MakeAuditRecord(rctx, "bulkExport", audit.Success)
|
||||
auditRec := a.MakeAuditRecord(rctx, "bulkExport", model.AuditStatusSuccess)
|
||||
auditRec.AddMeta("all_teams", allTeams)
|
||||
auditRec.AddMeta("file", args[0])
|
||||
a.LogAuditRec(rctx, auditRec, nil)
|
||||
|
||||
@@ -13,7 +13,6 @@ import (
|
||||
"github.com/mattermost/mattermost/server/public/model"
|
||||
"github.com/mattermost/mattermost/server/public/shared/request"
|
||||
"github.com/mattermost/mattermost/server/v8/channels/app"
|
||||
"github.com/mattermost/mattermost/server/v8/channels/audit"
|
||||
)
|
||||
|
||||
var ImportCmd = &cobra.Command{
|
||||
@@ -94,7 +93,7 @@ func slackImportCmdF(command *cobra.Command, args []string) error {
|
||||
CommandPrettyPrintln("Finished Slack Import.")
|
||||
CommandPrettyPrintln("")
|
||||
|
||||
auditRec := a.MakeAuditRecord(rctx, "slackImport", audit.Success)
|
||||
auditRec := a.MakeAuditRecord(rctx, "slackImport", model.AuditStatusSuccess)
|
||||
auditRec.AddMeta("team", team)
|
||||
auditRec.AddMeta("file", args[1])
|
||||
a.LogAuditRec(rctx, auditRec, nil)
|
||||
@@ -166,7 +165,7 @@ func bulkImportCmdF(command *cobra.Command, args []string) error {
|
||||
|
||||
if apply {
|
||||
CommandPrettyPrintln("Finished Bulk Import.")
|
||||
auditRec := a.MakeAuditRecord(rctx, "bulkImport", audit.Success)
|
||||
auditRec := a.MakeAuditRecord(rctx, "bulkImport", model.AuditStatusSuccess)
|
||||
auditRec.AddMeta("file", args[0])
|
||||
a.LogAuditRec(rctx, auditRec, nil)
|
||||
} else {
|
||||
|
||||
@@ -10,9 +10,9 @@ import (
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
"github.com/mattermost/mattermost/server/public/model"
|
||||
"github.com/mattermost/mattermost/server/public/shared/request"
|
||||
"github.com/mattermost/mattermost/server/v8/channels/app"
|
||||
"github.com/mattermost/mattermost/server/v8/channels/audit"
|
||||
"github.com/mattermost/mattermost/server/v8/config"
|
||||
)
|
||||
|
||||
@@ -59,7 +59,7 @@ func jobserverCmdF(command *cobra.Command, args []string) error {
|
||||
}
|
||||
|
||||
if !noJobs || !noSchedule {
|
||||
auditRec := a.MakeAuditRecord(rctx, "jobServer", audit.Success)
|
||||
auditRec := a.MakeAuditRecord(rctx, "jobServer", model.AuditStatusSuccess)
|
||||
a.LogAuditRec(rctx, auditRec, nil)
|
||||
}
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user