@@ -65,7 +65,7 @@ defmodule Prodigy.Server.Service.Logon do
6565 end
6666 end
6767
68- def make_response_payload ( { Status.SUCCESS , user } ) do
68+ def make_response_payload ( { Status.SUCCESS , user , _session_id } ) do
6969 now = Calendar.DateTime . now_utc ( )
7070 # TODO refactor to use Timex
7171 date = now |> Calendar . strftime ( "%m%d%y" )
@@ -146,7 +146,7 @@ defmodule Prodigy.Server.Service.Logon do
146146 res
147147 end
148148
149- def make_response_payload ( { status , _ } ) do
149+ def make_response_payload ( { status , _ , _ } ) do
150150 now = Calendar.DateTime . now_utc ( )
151151 date = now |> Calendar . strftime ( "%m%d%y" )
152152 time = now |> Calendar . strftime ( "%H%M%S" )
@@ -268,23 +268,23 @@ defmodule Prodigy.Server.Service.Logon do
268268 end
269269
270270 case SessionManager . create_session ( user , status , version ) do
271- { :ok , _db_session } ->
271+ { :ok , db_session } ->
272272 case enrollment_status do
273- true -> { Status.SUCCESS , user }
274- { :enroll_subscriber , user } -> { Status.ENROLL_SUBSCRIBER , user }
275- { :enroll_other , user } -> { Status.ENROLL_OTHER , user }
273+ true -> { Status.SUCCESS , user , db_session . id }
274+ { :enroll_subscriber , user } -> { Status.ENROLL_SUBSCRIBER , user , db_session . id }
275+ { :enroll_other , user } -> { Status.ENROLL_OTHER , user , db_session . id }
276276 end
277277 { :error , :concurrency_exceeded } ->
278278 Logger . warning ( "User #{ user . id } attempted logon, but exceeded concurrency limit" )
279- { Status.ID_IN_USE , nil }
279+ { Status.ID_IN_USE , nil , nil }
280280 end
281281 else
282- :bad_version -> { Status.BAD_VERSION , nil }
283- :bad_password -> { Status.BAD_PASSWORD , nil }
284- { :enroll_subscriber , user } -> { Status.ENROLL_SUBSCRIBER , user }
285- { :enroll_other , user } -> { Status.ENROLL_OTHER , user }
286- :id_in_use -> { Status.ID_IN_USE , nil }
287- _ -> { Status.ACCOUNT_PROBLEM , nil }
282+ :bad_version -> { Status.BAD_VERSION , nil , nil }
283+ :bad_password -> { Status.BAD_PASSWORD , nil , nil }
284+ # {:enroll_subscriber, user} -> {Status.ENROLL_SUBSCRIBER, user}
285+ # {:enroll_other, user} -> {Status.ENROLL_OTHER, user}
286+ :id_in_use -> { Status.ID_IN_USE , nil , nil }
287+ _ -> { Status.ACCOUNT_PROBLEM , nil , nil }
288288 end
289289
290290 response =
@@ -293,20 +293,20 @@ defmodule Prodigy.Server.Service.Logon do
293293 |> Packet . encode ( )
294294
295295 case result do
296- { Status.SUCCESS , user } ->
296+ { Status.SUCCESS , user , session_id } ->
297297 Context . cancel_auth_timer ( auth_timeout )
298298 Logger . info ( "User #{ user_id } logged on (Normal)" )
299- { :ok , % Context { user: user , rs_version: version } , response }
299+ { :ok , % Context { user: user , session_id: session_id , rs_version: version } , response }
300300
301- { Status.ENROLL_SUBSCRIBER , user } ->
301+ { Status.ENROLL_SUBSCRIBER , user , session_id } ->
302302 Context . cancel_auth_timer ( auth_timeout )
303303 Logger . info ( "User #{ user_id } logged on (Enroll Subscriber)" )
304- { :ok , % Context { user: user , rs_version: version } , response }
304+ { :ok , % Context { user: user , session_id: session_id , rs_version: version } , response }
305305
306- { Status.ENROLL_OTHER , user } ->
306+ { Status.ENROLL_OTHER , user , session_id } ->
307307 Context . cancel_auth_timer ( auth_timeout )
308308 Logger . info ( "User #{ user_id } logged on (Enroll Other)" )
309- { :ok , % Context { user: user , rs_version: version } , response }
309+ { :ok , % Context { user: user , session_id: session_id , rs_version: version } , response }
310310
311311 _ ->
312312 { :error , context , response }
0 commit comments