diff options
-rw-r--r-- | api/emoji.go | 4 | ||||
-rw-r--r-- | app/emoji.go | 4 | ||||
-rw-r--r-- | model/websocket_message.go | 1 | ||||
-rw-r--r-- | webapp/actions/websocket_actions.jsx | 13 | ||||
-rw-r--r-- | webapp/utils/constants.jsx | 3 |
5 files changed, 24 insertions, 1 deletions
diff --git a/api/emoji.go b/api/emoji.go index 1a79cc536..31620dc1a 100644 --- a/api/emoji.go +++ b/api/emoji.go @@ -122,6 +122,10 @@ func createEmoji(c *Context, w http.ResponseWriter, r *http.Request) { c.Err = result.Err return } else { + message := model.NewWebSocketEvent(model.WEBSOCKET_EVENT_EMOJI_ADDED, "", "", "", nil) + message.Add("emoji", result.Data.(*model.Emoji).ToJson()) + + app.Publish(message) w.Write([]byte(result.Data.(*model.Emoji).ToJson())) } } diff --git a/app/emoji.go b/app/emoji.go index 3e3350285..9f09617e8 100644 --- a/app/emoji.go +++ b/app/emoji.go @@ -58,6 +58,10 @@ func CreateEmoji(sessionUserId string, emoji *model.Emoji, multiPartImageData *m if result := <-Srv.Store.Emoji().Save(emoji); result.Err != nil { return nil, result.Err } else { + message := model.NewWebSocketEvent(model.WEBSOCKET_EVENT_EMOJI_ADDED, "", "", "", nil) + message.Add("emoji", emoji.ToJson()) + + Publish(message) return result.Data.(*model.Emoji), nil } } diff --git a/model/websocket_message.go b/model/websocket_message.go index 8c804a6f1..deeab2396 100644 --- a/model/websocket_message.go +++ b/model/websocket_message.go @@ -36,6 +36,7 @@ const ( WEBSOCKET_EVENT_REACTION_ADDED = "reaction_added" WEBSOCKET_EVENT_REACTION_REMOVED = "reaction_removed" WEBSOCKET_EVENT_RESPONSE = "response" + WEBSOCKET_EVENT_EMOJI_ADDED = "emoji_added" ) type WebSocketMessage interface { diff --git a/webapp/actions/websocket_actions.jsx b/webapp/actions/websocket_actions.jsx index db301d539..bf9b05cb7 100644 --- a/webapp/actions/websocket_actions.jsx +++ b/webapp/actions/websocket_actions.jsx @@ -230,6 +230,10 @@ function handleEvent(msg) { handleReactionRemovedEvent(msg); break; + case SocketEvents.EMOJI_ADDED: + handleAddEmoji(msg); + break; + default: } } @@ -438,6 +442,15 @@ function handleReactionAddedEvent(msg) { }); } +function handleAddEmoji(msg) { + const data = JSON.parse(msg.data.emoji); + + AppDispatcher.handleServerAction({ + type: ActionTypes.RECEIVED_CUSTOM_EMOJI, + emoji: data + }); +} + function handleReactionRemovedEvent(msg) { const reaction = JSON.parse(msg.data.reaction); diff --git a/webapp/utils/constants.jsx b/webapp/utils/constants.jsx index 11fe77613..1d49d1cae 100644 --- a/webapp/utils/constants.jsx +++ b/webapp/utils/constants.jsx @@ -242,7 +242,8 @@ export const SocketEvents = { HELLO: 'hello', WEBRTC: 'webrtc', REACTION_ADDED: 'reaction_added', - REACTION_REMOVED: 'reaction_removed' + REACTION_REMOVED: 'reaction_removed', + EMOJI_ADDED: 'emoji_added' }; export const TutorialSteps = { |