[MM-22368] Log Channel Moderation events (#14042)
* MM-22368 Log Channel Moderation events * Modify wording * Use structured fields * Update app/channel.go
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
010dac2195
Коммит
911e636ec3
@@ -696,7 +696,7 @@ func (a *App) GetTeamSchemeChannelRoles(teamId string) (guestRoleName, userRoleN
|
||||
return
|
||||
}
|
||||
|
||||
// PatchChannelModerationsForChannel Gets a channels ChannelModerations from either the higherScoped roles or from the channel scheme roles.
|
||||
// GetChannelModerationsForChannel Gets a channels ChannelModerations from either the higherScoped roles or from the channel scheme roles.
|
||||
func (a *App) GetChannelModerationsForChannel(channel *model.Channel) ([]*model.ChannelModeration, *model.AppError) {
|
||||
guestRoleName, memberRoleName, _, _ := a.GetSchemeRolesForChannel(channel.Id)
|
||||
memberRole, err := a.GetRoleByName(memberRoleName)
|
||||
@@ -753,6 +753,7 @@ func (a *App) PatchChannelModerationsForChannel(channel *model.Channel, channelM
|
||||
if _, err = a.CreateChannelScheme(channel); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
mlog.Info("Permission scheme created.", mlog.String("channel_id", channel.Id), mlog.String("channel_name", channel.Name))
|
||||
}
|
||||
|
||||
guestRoleName, memberRoleName, _, _ := a.GetSchemeRolesForChannel(channel.Id)
|
||||
@@ -769,6 +770,25 @@ func (a *App) PatchChannelModerationsForChannel(channel *model.Channel, channelM
|
||||
memberRolePatch := memberRole.RolePatchFromChannelModerationsPatch(channelModerationsPatch, "members")
|
||||
guestRolePatch := guestRole.RolePatchFromChannelModerationsPatch(channelModerationsPatch, "guests")
|
||||
|
||||
for _, channelModerationPatch := range channelModerationsPatch {
|
||||
permissionModified := *channelModerationPatch.Name
|
||||
if channelModerationPatch.Roles.Guests != nil && utils.StringInSlice(permissionModified, model.ChannelModeratedPermissionsChangedByPatch(guestRole, guestRolePatch)) {
|
||||
if *channelModerationPatch.Roles.Guests {
|
||||
mlog.Info("Permission enabled for guests.", mlog.String("permission", permissionModified), mlog.String("channel_id", channel.Id), mlog.String("channel_name", channel.Name))
|
||||
} else {
|
||||
mlog.Info("Permission disabled for guests.", mlog.String("permission", permissionModified), mlog.String("channel_id", channel.Id), mlog.String("channel_name", channel.Name))
|
||||
}
|
||||
}
|
||||
|
||||
if channelModerationPatch.Roles.Members != nil && utils.StringInSlice(permissionModified, model.ChannelModeratedPermissionsChangedByPatch(memberRole, memberRolePatch)) {
|
||||
if *channelModerationPatch.Roles.Members {
|
||||
mlog.Info("Permission enabled for members.", mlog.String("permission", permissionModified), mlog.String("channel_id", channel.Id), mlog.String("channel_name", channel.Name))
|
||||
} else {
|
||||
mlog.Info("Permission disabled for members.", mlog.String("permission", permissionModified), mlog.String("channel_id", channel.Id), mlog.String("channel_name", channel.Name))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
memberRolePermissionsUnmodified := len(model.ChannelModeratedPermissionsChangedByPatch(higherScopedMemberRole, memberRolePatch)) == 0
|
||||
guestRolePermissionsUnmodified := len(model.ChannelModeratedPermissionsChangedByPatch(higherScopedGuestRole, guestRolePatch)) == 0
|
||||
if memberRolePermissionsUnmodified && guestRolePermissionsUnmodified {
|
||||
@@ -778,6 +798,7 @@ func (a *App) PatchChannelModerationsForChannel(channel *model.Channel, channelM
|
||||
}
|
||||
memberRole = higherScopedMemberRole
|
||||
guestRole = higherScopedGuestRole
|
||||
mlog.Info("Permission scheme deleted.", mlog.String("channel_id", channel.Id), mlog.String("channel_name", channel.Name))
|
||||
} else {
|
||||
memberRole, err = a.PatchRole(memberRole, memberRolePatch)
|
||||
if err != nil {
|
||||
|
||||
Ссылка в новой задаче
Block a user