summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVeraLyu <lvroyce0210@gmail.com>2017-06-24 07:09:17 +0800
committerJoram Wilander <jwawilander@gmail.com>2017-06-23 19:09:17 -0400
commit33eb77b757a2e5560145024ac8f491a15a8a4e8f (patch)
treefb2749aa98a955409b67aca452869e613d7b7bb2
parent4df36a504cebc61fa1e5e6f7980f9245b475facf (diff)
downloadchat-33eb77b757a2e5560145024ac8f491a15a8a4e8f.tar.gz
chat-33eb77b757a2e5560145024ac8f491a15a8a4e8f.tar.bz2
chat-33eb77b757a2e5560145024ac8f491a15a8a4e8f.zip
PLT-3711: Add websocket event for emoji addition (#6211)
* PLT-3711: Add websocket event for emoji addition * (SA) updated as per review This PR is edited directly to merge into master. * (SA) updated as per review This PR is edited directly to merge into master.
-rw-r--r--api/emoji.go4
-rw-r--r--app/emoji.go4
-rw-r--r--model/websocket_message.go1
-rw-r--r--webapp/actions/websocket_actions.jsx13
-rw-r--r--webapp/utils/constants.jsx3
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 = {