./ct_report/coverage/mongoose_graphql_session_helper.COVER.html

1 -module(mongoose_graphql_session_helper).
2
3 -export([format_session/1, format_sessions/1, format_status_user/1, format_status_users/1]).
4
5 -ignore_xref([format_session/1, format_status_user/1]).
6
7 -type session_data() :: map().
8 -type session_list() :: [{ok, session_data()}].
9 -type status_user_data() :: map().
10 -type status_user_list() :: [{ok, status_user_data()}].
11
12 -export_type([session_data/0, session_list/0, status_user_data/0, status_user_list/0]).
13
14 -spec format_sessions([mongoose_session_api:session_info()]) -> session_list().
15 format_sessions(Sessions) ->
16 4 lists:map(fun(S) -> {ok, format_session(S)} end, Sessions).
17
18 -spec format_session(mongoose_session_api:session_info()) -> session_data().
19 format_session({USR, Conn, IPS, PORT, Prio, NodeS, Uptime}) ->
20 7 #{<<"user">> => iolist_to_binary(USR),
21 <<"connection">> => iolist_to_binary(Conn),
22 <<"ip">> => iolist_to_binary(IPS),
23 <<"port">> => PORT,
24 <<"priority">> => Prio,
25 <<"node">> => iolist_to_binary(NodeS),
26 <<"uptime">> => Uptime}.
27
28 -spec format_status_users([mongoose_session_api:session_info()]) -> session_list().
29 format_status_users(Sessions) ->
30 3 lists:map(fun(S) -> {ok, format_status_user(S)} end, Sessions).
31
32 -spec format_status_user(mongoose_session_api:status_user_info()) -> status_user_data().
33 format_status_user({User, Server, Res, Prio, StatusText}) ->
34 4 #{<<"user">> => jid:to_binary({User, Server, Res}),
35 <<"priority">> => Prio,
36 <<"text">> => iolist_to_binary(StatusText)}.
Line Hits Source