From d7976549a0b45a42c04ac043a15677b7ca1228e9 Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Wed, 27 Jun 2018 08:46:38 -0400 Subject: MM-9674 Add plugin API for publishing custom WebSocket events (#8999) * Add plugin API for publishing custom WebSocket events * Add clearer payload comment * Update comment --- app/plugin_api.go | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'app/plugin_api.go') diff --git a/app/plugin_api.go b/app/plugin_api.go index ffb8cccd6..fc786202e 100644 --- a/app/plugin_api.go +++ b/app/plugin_api.go @@ -5,6 +5,7 @@ package app import ( "encoding/json" + "fmt" "github.com/mattermost/mattermost-server/model" ) @@ -176,3 +177,11 @@ func (api *PluginAPI) KVGet(key string) ([]byte, *model.AppError) { func (api *PluginAPI) KVDelete(key string) *model.AppError { return api.app.DeletePluginKey(api.id, key) } + +func (api *PluginAPI) PublishWebSocketEvent(event string, payload map[string]interface{}, broadcast *model.WebsocketBroadcast) { + api.app.Publish(&model.WebSocketEvent{ + Event: fmt.Sprintf("custom_%v_%v", api.id, event), + Data: payload, + Broadcast: broadcast, + }) +} -- cgit v1.2.3-1-g7c22