mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
MM-25595 - Edits to bot username and display name fail to save (#14699)
* invalidate the user profile cache bc we know it's now outdated * invalidate cache when updating user roles; test * tests fix -- experimental * fixing linter errors * revert to original solution Co-authored-by: mattermod <mattermod@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
19e5afd607
commit
7bba8db65f
@@ -220,6 +220,22 @@ func TestPatchBot(t *testing.T) {
|
||||
require.Equal(t, *botPatch.DisplayName, patchedBot.DisplayName)
|
||||
require.Equal(t, *botPatch.Description, patchedBot.Description)
|
||||
require.Equal(t, th.SystemAdminUser.Id, patchedBot.OwnerId)
|
||||
|
||||
// Continue through the bot update process (call UpdateUserRoles), then
|
||||
// get the bot, to make sure the patched bot was correctly saved.
|
||||
th.AddPermissionToRole(model.PERMISSION_READ_BOTS.Id, model.TEAM_USER_ROLE_ID)
|
||||
th.AddPermissionToRole(model.PERMISSION_READ_OTHERS_BOTS.Id, model.TEAM_USER_ROLE_ID)
|
||||
th.AddPermissionToRole(model.PERMISSION_MANAGE_ROLES.Id, model.TEAM_USER_ROLE_ID)
|
||||
th.App.UpdateUserRoles(th.BasicUser.Id, model.TEAM_USER_ROLE_ID, false)
|
||||
|
||||
success, resp := th.Client.UpdateUserRoles(createdBot.UserId, model.SYSTEM_USER_ROLE_ID)
|
||||
CheckOKStatus(t, resp)
|
||||
require.True(t, success)
|
||||
|
||||
bots, resp := th.Client.GetBots(0, 2, "")
|
||||
CheckOKStatus(t, resp)
|
||||
require.Len(t, bots, 1)
|
||||
require.Equal(t, []*model.Bot{patchedBot}, bots)
|
||||
})
|
||||
|
||||
t.Run("patch my bot without permission", func(t *testing.T) {
|
||||
|
||||
@@ -89,6 +89,7 @@ func (a *App) PatchBot(botUserId string, botPatch *model.BotPatch) (*model.Bot,
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
a.InvalidateCacheForUser(user.Id)
|
||||
|
||||
ruser := userUpdate.New
|
||||
a.sendUpdatedUserEvent(*ruser)
|
||||
|
||||
@@ -1395,8 +1395,8 @@ func (a *App) UpdateUserRoles(userId string, newRoles string, sendWebSocketEvent
|
||||
|
||||
schan := make(chan store.StoreResult, 1)
|
||||
go func() {
|
||||
userId, err := a.Srv().Store.Session().UpdateRoles(user.Id, newRoles)
|
||||
schan <- store.StoreResult{Data: userId, Err: err}
|
||||
id, err := a.Srv().Store.Session().UpdateRoles(user.Id, newRoles)
|
||||
schan <- store.StoreResult{Data: id, Err: err}
|
||||
close(schan)
|
||||
}()
|
||||
|
||||
@@ -1411,7 +1411,7 @@ func (a *App) UpdateUserRoles(userId string, newRoles string, sendWebSocketEvent
|
||||
mlog.Error("Failed during updating user roles", mlog.Err(result.Err))
|
||||
}
|
||||
|
||||
a.InvalidateCacheForUser(user.Id)
|
||||
a.InvalidateCacheForUser(userId)
|
||||
a.ClearSessionCacheForUser(user.Id)
|
||||
|
||||
if sendWebSocketEvent {
|
||||
|
||||
Reference in New Issue
Block a user