diff options
author | Joram Wilander <jwawilander@gmail.com> | 2018-06-27 08:46:38 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-27 08:46:38 -0400 |
commit | d7976549a0b45a42c04ac043a15677b7ca1228e9 (patch) | |
tree | 14940a3a61bbff407887a2d5afcd8ea71ab41fb1 /app/plugin_api.go | |
parent | 1e5c432e1029601a664454388ae366ef69618d62 (diff) | |
download | chat-d7976549a0b45a42c04ac043a15677b7ca1228e9.tar.gz chat-d7976549a0b45a42c04ac043a15677b7ca1228e9.tar.bz2 chat-d7976549a0b45a42c04ac043a15677b7ca1228e9.zip |
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
Diffstat (limited to 'app/plugin_api.go')
-rw-r--r-- | app/plugin_api.go | 9 |
1 files changed, 9 insertions, 0 deletions
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, + }) +} |