PLT-4716 fixes cache invalidation issue (#4518)

* PLT-4716 fixes cache invalidation issue

* Adding missing interface

* Adding cache invalidation to channel notification preferences

* Adding cache invalidation to channel notification preferences
Этот коммит содержится в:
Corey Hulen
2016-11-10 06:25:23 -08:00
коммит произвёл Harrison Healey
родитель b46ced78de
Коммит 41b31b4c92
5 изменённых файлов: 20 добавлений и 0 удалений

Просмотреть файл

@@ -1176,6 +1176,8 @@ func updateNotifyProps(c *Context, w http.ResponseWriter, r *http.Request) {
c.Err = result.Err
return
} else {
InvalidateCacheForUser(userId)
// return the updated notify properties including any unchanged ones
w.Write([]byte(model.MapToJson(member.NotifyProps)))
}

Просмотреть файл

@@ -1398,6 +1398,8 @@ func updateUser(c *Context, w http.ResponseWriter, r *http.Request) {
go sendEmailChangeUsername(c, rusers[1].Username, rusers[0].Username, rusers[0].Email, c.GetSiteURL())
}
InvalidateCacheForUser(user.Id)
updatedUser := rusers[0]
updatedUser = sanitizeProfile(c, updatedUser)
@@ -1955,6 +1957,7 @@ func updateUserNotify(c *Context, w http.ResponseWriter, r *http.Request) {
return
} else {
c.LogAuditWithUserId(user.Id, "")
InvalidateCacheForUser(user.Id)
ruser := result.Data.([2]*model.User)[0]
options := utils.Cfg.GetSanitizeOptions()

Просмотреть файл

@@ -112,6 +112,7 @@ func InvalidateCacheForUser(userId string) {
func InvalidateCacheForUserSkipClusterSend(userId string) {
Srv.Store.Channel().InvalidateAllChannelMembersForUser(userId)
Srv.Store.User().InvalidateProfilesInChannelCacheByUser(userId)
GetHubForUserId(userId).InvalidateUser(userId)
}