From 60347559c7fb857bd5afcd93e65b6e220625da79 Mon Sep 17 00:00:00 2001 From: enahum Date: Tue, 27 Sep 2016 11:19:50 -0300 Subject: PLT-3734 Cleaning up shouldSendEvent function (#4024) * PLT-3734 Cleaning up shouldSendEvent function * Fix LHS unread highlight and jewel mentions --- model/websocket_message.go | 16 +++++++++++----- model/websocket_message_test.go | 4 ++-- 2 files changed, 13 insertions(+), 7 deletions(-) (limited to 'model') diff --git a/model/websocket_message.go b/model/websocket_message.go index 4e1f1dee3..9bce1e825 100644 --- a/model/websocket_message.go +++ b/model/websocket_message.go @@ -33,20 +33,26 @@ type WebSocketMessage interface { IsValid() bool } +type WebsocketBroadcast struct { + OmitUsers map[string]bool `json:"-"` // broadcast is omitted for users listed here + UserId string `json:"user_id"` // broadcast only occurs for this user + ChannelId string `json:"channel_id"` // broadcast only occurs for users in this channel + TeamId string `json:"team_id"` // broadcast only occurs for users in this team +} + type WebSocketEvent struct { - TeamId string `json:"team_id"` - ChannelId string `json:"channel_id"` - UserId string `json:"user_id"` Event string `json:"event"` Data map[string]interface{} `json:"data"` + Broadcast *WebsocketBroadcast `json:"broadcast"` } func (m *WebSocketEvent) Add(key string, value interface{}) { m.Data[key] = value } -func NewWebSocketEvent(teamId string, channelId string, userId string, event string) *WebSocketEvent { - return &WebSocketEvent{TeamId: teamId, ChannelId: channelId, UserId: userId, Event: event, Data: make(map[string]interface{})} +func NewWebSocketEvent(event, teamId, channelId, userId string, omitUsers map[string]bool) *WebSocketEvent { + return &WebSocketEvent{Event: event, Data: make(map[string]interface{}), + Broadcast: &WebsocketBroadcast{TeamId: teamId, ChannelId: channelId, UserId: userId, OmitUsers: omitUsers}} } func (o *WebSocketEvent) IsValid() bool { diff --git a/model/websocket_message_test.go b/model/websocket_message_test.go index cbc564b6c..dceb37eef 100644 --- a/model/websocket_message_test.go +++ b/model/websocket_message_test.go @@ -9,7 +9,7 @@ import ( ) func TestWebSocketEvent(t *testing.T) { - m := NewWebSocketEvent(NewId(), NewId(), NewId(), "some_event") + m := NewWebSocketEvent("some_event", NewId(), NewId(), NewId(), nil) m.Add("RootId", NewId()) json := m.ToJson() result := WebSocketEventFromJson(strings.NewReader(json)) @@ -23,7 +23,7 @@ func TestWebSocketEvent(t *testing.T) { t.Fatal("should be valid") } - if m.TeamId != result.TeamId { + if m.Broadcast.TeamId != result.Broadcast.TeamId { t.Fatal("Ids do not match") } -- cgit v1.2.3-1-g7c22