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 /plugin/client_rpc_generated.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 'plugin/client_rpc_generated.go')
-rw-r--r-- | plugin/client_rpc_generated.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/plugin/client_rpc_generated.go b/plugin/client_rpc_generated.go index b32a3e36e..9880814b2 100644 --- a/plugin/client_rpc_generated.go +++ b/plugin/client_rpc_generated.go @@ -1101,3 +1101,30 @@ func (s *APIRPCServer) KVDelete(args *KVDeleteArgs, returns *KVDeleteReturns) er } return nil } + +type PublishWebSocketEventArgs struct { + A string + B map[string]interface{} + C *model.WebsocketBroadcast +} + +type PublishWebSocketEventReturns struct { +} + +func (g *APIRPCClient) PublishWebSocketEvent(event string, payload map[string]interface{}, broadcast *model.WebsocketBroadcast) { + _args := &PublishWebSocketEventArgs{event, payload, broadcast} + _returns := &PublishWebSocketEventReturns{} + if err := g.client.Call("Plugin.PublishWebSocketEvent", _args, _returns); err != nil { + g.log.Error("RPC call to PublishWebSocketEvent API failed.", mlog.Err(err)) + } + return +} + +func (s *APIRPCServer) PublishWebSocketEvent(args *PublishWebSocketEventArgs, returns *PublishWebSocketEventReturns) error { + if hook, ok := s.impl.(interface { + PublishWebSocketEvent(event string, payload map[string]interface{}, broadcast *model.WebsocketBroadcast) + }); ok { + hook.PublishWebSocketEvent(args.A, args.B, args.C) + } + return nil +} |