github.com/jlevesy/mattermost-server@v5.3.2-0.20181003190404-7468f35cb0c8+incompatible/app/cluster_handlers.go (about)

     1  // Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
     2  // See License.txt for license information.
     3  
     4  package app
     5  
     6  import (
     7  	"strings"
     8  
     9  	"github.com/mattermost/mattermost-server/model"
    10  )
    11  
    12  func (a *App) RegisterAllClusterMessageHandlers() {
    13  	a.Cluster.RegisterClusterMessageHandler(model.CLUSTER_EVENT_PUBLISH, a.ClusterPublishHandler)
    14  	a.Cluster.RegisterClusterMessageHandler(model.CLUSTER_EVENT_UPDATE_STATUS, a.ClusterUpdateStatusHandler)
    15  	a.Cluster.RegisterClusterMessageHandler(model.CLUSTER_EVENT_INVALIDATE_ALL_CACHES, a.ClusterInvalidateAllCachesHandler)
    16  	a.Cluster.RegisterClusterMessageHandler(model.CLUSTER_EVENT_INVALIDATE_CACHE_FOR_WEBHOOK, a.ClusterInvalidateCacheForWebhookHandler)
    17  	a.Cluster.RegisterClusterMessageHandler(model.CLUSTER_EVENT_INVALIDATE_CACHE_FOR_CHANNEL_POSTS, a.ClusterInvalidateCacheForChannelPostsHandler)
    18  	a.Cluster.RegisterClusterMessageHandler(model.CLUSTER_EVENT_INVALIDATE_CACHE_FOR_CHANNEL_MEMBERS_NOTIFY_PROPS, a.ClusterInvalidateCacheForChannelMembersNotifyPropHandler)
    19  	a.Cluster.RegisterClusterMessageHandler(model.CLUSTER_EVENT_INVALIDATE_CACHE_FOR_CHANNEL_MEMBERS, a.ClusterInvalidateCacheForChannelMembersHandler)
    20  	a.Cluster.RegisterClusterMessageHandler(model.CLUSTER_EVENT_INVALIDATE_CACHE_FOR_CHANNEL_BY_NAME, a.ClusterInvalidateCacheForChannelByNameHandler)
    21  	a.Cluster.RegisterClusterMessageHandler(model.CLUSTER_EVENT_INVALIDATE_CACHE_FOR_CHANNEL, a.ClusterInvalidateCacheForChannelHandler)
    22  	a.Cluster.RegisterClusterMessageHandler(model.CLUSTER_EVENT_INVALIDATE_CACHE_FOR_USER, a.ClusterInvalidateCacheForUserHandler)
    23  	a.Cluster.RegisterClusterMessageHandler(model.CLUSTER_EVENT_CLEAR_SESSION_CACHE_FOR_USER, a.ClusterClearSessionCacheForUserHandler)
    24  }
    25  
    26  func (a *App) ClusterPublishHandler(msg *model.ClusterMessage) {
    27  	event := model.WebSocketEventFromJson(strings.NewReader(msg.Data))
    28  	a.PublishSkipClusterSend(event)
    29  }
    30  
    31  func (a *App) ClusterUpdateStatusHandler(msg *model.ClusterMessage) {
    32  	status := model.StatusFromJson(strings.NewReader(msg.Data))
    33  	a.AddStatusCacheSkipClusterSend(status)
    34  }
    35  
    36  func (a *App) ClusterInvalidateAllCachesHandler(msg *model.ClusterMessage) {
    37  	a.InvalidateAllCachesSkipSend()
    38  }
    39  
    40  func (a *App) ClusterInvalidateCacheForWebhookHandler(msg *model.ClusterMessage) {
    41  	a.InvalidateCacheForWebhookSkipClusterSend(msg.Data)
    42  }
    43  
    44  func (a *App) ClusterInvalidateCacheForChannelPostsHandler(msg *model.ClusterMessage) {
    45  	a.InvalidateCacheForChannelPostsSkipClusterSend(msg.Data)
    46  }
    47  
    48  func (a *App) ClusterInvalidateCacheForChannelMembersNotifyPropHandler(msg *model.ClusterMessage) {
    49  	a.InvalidateCacheForChannelMembersNotifyPropsSkipClusterSend(msg.Data)
    50  }
    51  
    52  func (a *App) ClusterInvalidateCacheForChannelMembersHandler(msg *model.ClusterMessage) {
    53  	a.InvalidateCacheForChannelMembersSkipClusterSend(msg.Data)
    54  }
    55  
    56  func (a *App) ClusterInvalidateCacheForChannelByNameHandler(msg *model.ClusterMessage) {
    57  	a.InvalidateCacheForChannelByNameSkipClusterSend(msg.Props["id"], msg.Props["name"])
    58  }
    59  
    60  func (a *App) ClusterInvalidateCacheForChannelHandler(msg *model.ClusterMessage) {
    61  	a.InvalidateCacheForChannelSkipClusterSend(msg.Data)
    62  }
    63  
    64  func (a *App) ClusterInvalidateCacheForUserHandler(msg *model.ClusterMessage) {
    65  	a.InvalidateCacheForUserSkipClusterSend(msg.Data)
    66  }
    67  
    68  func (a *App) ClusterClearSessionCacheForUserHandler(msg *model.ClusterMessage) {
    69  	a.ClearSessionCacheForUserSkipClusterSend(msg.Data)
    70  }