diff options
author | Joram Wilander <jwawilander@gmail.com> | 2017-01-27 14:07:34 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-27 14:07:34 -0500 |
commit | 097289f8e473c799ee752aa56e08f605110f5217 (patch) | |
tree | 424cd42d691b28d1c08852dc02a69d69f2b70a65 /app/web_hub.go | |
parent | 8eab04e944b3874f1fc4985344cbccec84c6002a (diff) | |
download | chat-097289f8e473c799ee752aa56e08f605110f5217.tar.gz chat-097289f8e473c799ee752aa56e08f605110f5217.tar.bz2 chat-097289f8e473c799ee752aa56e08f605110f5217.zip |
Merge 3.6.2 into master (#5211)
* Add webhook cache
* Add channel by name cache
* Fxing profiles in channels cache
* Fix merge
Diffstat (limited to 'app/web_hub.go')
-rw-r--r-- | app/web_hub.go | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/app/web_hub.go b/app/web_hub.go index 28d2c0095..c8fbfbc34 100644 --- a/app/web_hub.go +++ b/app/web_hub.go @@ -103,18 +103,35 @@ func PublishSkipClusterSend(message *model.WebSocketEvent) { } } -func InvalidateCacheForChannel(channelId string) { - InvalidateCacheForChannelSkipClusterSend(channelId) +func InvalidateCacheForChannel(channel *model.Channel) { + InvalidateCacheForChannelSkipClusterSend(channel.Id) + InvalidateCacheForChannelByNameSkipClusterSend(channel.TeamId, channel.Name) if cluster := einterfaces.GetClusterInterface(); cluster != nil { - cluster.InvalidateCacheForChannel(channelId) + cluster.InvalidateCacheForChannel(channel.Id) + cluster.InvalidateCacheForChannelByName(channel.TeamId, channel.Name) + } +} + +func InvalidateCacheForChannelMembers(channelId string) { + InvalidateCacheForChannelMembersSkipClusterSend(channelId) + + if cluster := einterfaces.GetClusterInterface(); cluster != nil { + cluster.InvalidateCacheForChannelMembers(channelId) } } func InvalidateCacheForChannelSkipClusterSend(channelId string) { + Srv.Store.Channel().InvalidateChannel(channelId) +} + +func InvalidateCacheForChannelMembersSkipClusterSend(channelId string) { Srv.Store.User().InvalidateProfilesInChannelCache(channelId) Srv.Store.Channel().InvalidateMemberCount(channelId) - Srv.Store.Channel().InvalidateChannel(channelId) +} + +func InvalidateCacheForChannelByNameSkipClusterSend(teamId, name string) { + Srv.Store.Channel().InvalidateChannelByName(teamId, name) } func InvalidateCacheForChannelPosts(channelId string) { @@ -147,6 +164,18 @@ func InvalidateCacheForUserSkipClusterSend(userId string) { } } +func InvalidateCacheForWebhook(webhookId string) { + InvalidateCacheForWebhookSkipClusterSend(webhookId) + + if cluster := einterfaces.GetClusterInterface(); cluster != nil { + cluster.InvalidateCacheForWebhook(webhookId) + } +} + +func InvalidateCacheForWebhookSkipClusterSend(webhookId string) { + Srv.Store.Webhook().InvalidateWebhookCache(webhookId) +} + func InvalidateWebConnSessionCacheForUser(userId string) { if len(hubs) != 0 { GetHubForUserId(userId).InvalidateUser(userId) |