diff options
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) |