summaryrefslogtreecommitdiffstats
path: root/store
diff options
context:
space:
mode:
Diffstat (limited to 'store')
-rw-r--r--store/sql_user_store.go13
-rw-r--r--store/store.go1
2 files changed, 14 insertions, 0 deletions
diff --git a/store/sql_user_store.go b/store/sql_user_store.go
index 984b544d7..aa3bb4380 100644
--- a/store/sql_user_store.go
+++ b/store/sql_user_store.go
@@ -555,6 +555,19 @@ func (us SqlUserStore) GetProfiles(teamId string, offset int, limit int) StoreCh
return storeChannel
}
+func (us SqlUserStore) InvalidateProfilesInChannelCacheByUser(userId string) {
+ keys := profilesInChannelCache.Keys()
+
+ for _, key := range keys {
+ if cacheItem, ok := profilesInChannelCache.Get(key); ok {
+ userMap := cacheItem.(map[string]*model.User)
+ if _, userInCache := userMap[userId]; userInCache {
+ profilesInChannelCache.Remove(key)
+ }
+ }
+ }
+}
+
func (us SqlUserStore) InvalidateProfilesInChannelCache(channelId string) {
profilesInChannelCache.Remove(channelId)
}
diff --git a/store/store.go b/store/store.go
index 83a077c10..d0790263a 100644
--- a/store/store.go
+++ b/store/store.go
@@ -143,6 +143,7 @@ type UserStore interface {
UpdateMfaActive(userId string, active bool) StoreChannel
Get(id string) StoreChannel
GetAll() StoreChannel
+ InvalidateProfilesInChannelCacheByUser(userId string)
InvalidateProfilesInChannelCache(channelId string)
GetProfilesInChannel(channelId string, offset int, limit int, allowFromCache bool) StoreChannel
GetProfilesNotInChannel(teamId string, channelId string, offset int, limit int) StoreChannel