@@ -3,6 +3,7 @@ defmodule ChatApiWeb.ConversationChannel do
33
44 alias ChatApiWeb.Presence
55 alias ChatApi . { Messages , Conversations }
6+ require Logger
67
78 @ impl true
89 def join ( "conversation:lobby" , payload , socket ) do
@@ -80,20 +81,32 @@ defmodule ChatApiWeb.ConversationChannel do
8081 { :reply , { :ok , payload } , socket }
8182 end
8283
84+ def handle_in ( "shout" , payload , socket ) do
85+ Logger . notice (
86+ "'shout' is deprecated as event name on a new message and will be removed in a future version. Please migrate to a newer version of a client."
87+ )
88+
89+ handle_in_msg ( "shout" , payload , socket )
90+ end
91+
92+ def handle_in ( "message:created" , payload , socket ) do
93+ handle_in_msg ( "message:created" , payload , socket )
94+ end
95+
8396 # It is also common to receive messages from the client and
8497 # broadcast to everyone in the current topic (conversation:lobby).
85- def handle_in ( "shout" , payload , socket ) do
98+ defp handle_in_msg ( event_name , payload , socket ) do
8699 with % { conversation: conversation } <- socket . assigns ,
87100 % { id: conversation_id , account_id: account_id } <- conversation ,
88101 { :ok , message } <-
89102 payload
90103 |> Map . merge ( % { "conversation_id" => conversation_id , "account_id" => account_id } )
91104 |> Messages . create_message ( ) ,
92105 message <- Messages . get_message! ( message . id ) do
93- broadcast_new_message ( socket , message )
106+ broadcast_new_message ( socket , event_name , message )
94107 else
95108 _ ->
96- broadcast ( socket , "shout" , payload )
109+ broadcast ( socket , event_name , payload )
97110 end
98111
99112 { :noreply , socket }
@@ -123,9 +136,9 @@ defmodule ChatApiWeb.ConversationChannel do
123136 } )
124137 end
125138
126- defp broadcast_new_message ( socket , message ) do
139+ defp broadcast_new_message ( socket , event_name , message ) do
127140 broadcast_conversation_update ( message )
128- broadcast ( socket , "shout" , Messages.Helpers . format ( message ) )
141+ broadcast ( socket , event_name , Messages.Helpers . format ( message ) )
129142
130143 message
131144 |> Messages.Notification . notify ( :slack )
0 commit comments