summaryrefslogtreecommitdiffstats
path: root/app/plugin_api.go
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2018-06-27 08:46:38 -0400
committerGitHub <noreply@github.com>2018-06-27 08:46:38 -0400
commitd7976549a0b45a42c04ac043a15677b7ca1228e9 (patch)
tree14940a3a61bbff407887a2d5afcd8ea71ab41fb1 /app/plugin_api.go
parent1e5c432e1029601a664454388ae366ef69618d62 (diff)
downloadchat-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.go9
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,
+ })
+}