summaryrefslogtreecommitdiffstats
path: root/app/web_hub.go
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-01-27 14:07:34 -0500
committerGitHub <noreply@github.com>2017-01-27 14:07:34 -0500
commit097289f8e473c799ee752aa56e08f605110f5217 (patch)
tree424cd42d691b28d1c08852dc02a69d69f2b70a65 /app/web_hub.go
parent8eab04e944b3874f1fc4985344cbccec84c6002a (diff)
downloadchat-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.go37
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)