diff options
author | Badlop <badlop@process-one.net> | 2018-06-15 11:28:44 +0200 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2018-06-15 11:28:57 +0200 |
commit | 3ec623f329bb1dd0829ec1c246bb655e569a737f (patch) | |
tree | eb4c68a0848ce73c57c3f5852cf9542ce7b51285 /src/ejabberd_sm.erl | |
parent | Improve type spec (diff) |
Make connected_users_info and user_sessions_info DB-agnostic (#2448)
The result returned by connected_users_info command has changed,
and is now similar to the result of user_sessions_info.
Notice that num_active_users and process_rosteritems still require Mnesia.
Diffstat (limited to 'src/ejabberd_sm.erl')
-rw-r--r-- | src/ejabberd_sm.erl | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl index ef6a62979..936a3159b 100644 --- a/src/ejabberd_sm.erl +++ b/src/ejabberd_sm.erl @@ -242,10 +242,12 @@ get_user_info(User, Server) -> LServer = jid:nameprep(Server), Mod = get_sm_backend(LServer), Ss = online(get_sessions(Mod, LUser, LServer)), - [{LResource, [{node, node(Pid)}|Info]} + [{LResource, [{node, node(Pid)}, {ts, Ts}, {pid, Pid}, + {priority, Priority} | Info]} || #session{usr = {_, _, LResource}, + priority = Priority, info = Info, - sid = {_, Pid}} <- clean_session_list(Ss)]. + sid = {Ts, Pid}} <- clean_session_list(Ss)]. -spec get_user_info(binary(), binary(), binary()) -> info() | offline. @@ -259,8 +261,11 @@ get_user_info(User, Server, Resource) -> offline; Ss -> Session = lists:max(Ss), - Node = node(element(2, Session#session.sid)), - [{node, Node}|Session#session.info] + {Ts, Pid} = Session#session.sid, + Node = node(Pid), + Priority = Session#session.priority, + [{node, Node}, {ts, Ts}, {pid, Pid}, {priority, Priority} + |Session#session.info] end. -spec set_presence(sid(), binary(), binary(), binary(), |