./ct_report/coverage/mongoose_graphql_session_admin_query.COVER.html

1 -module(mongoose_graphql_session_admin_query).
2 -behaviour(mongoose_graphql).
3
4 -export([execute/4]).
5
6 -ignore_xref([execute/4]).
7
8 -import(mongoose_graphql_session_helper, [format_sessions/1, format_status_users/1]).
9 -import(mongoose_graphql_helper, [format_result/2]).
10
11 execute(_Ctx, _Obj, <<"listSessions">>, Args) ->
12 2 list_sessions(Args);
13 execute(_Ctx, _Obj, <<"countSessions">>, Args) ->
14 2 count_sessions(Args);
15 execute(_Ctx, _Obj, <<"listUserSessions">>, Args) ->
16 1 list_user_sessions(Args);
17 execute(_Ctx, _Obj, <<"countUserResources">>, Args) ->
18 1 count_user_resources(Args);
19 execute(_Ctx, _Obj, <<"getUserResource">>, Args) ->
20 2 get_user_resource(Args);
21 execute(_Ctx, _Obj, <<"listUsersWithStatus">>, Args) ->
22 3 list_users_with_status(Args);
23 execute(_Ctx, _Obj, <<"countUsersWithStatus">>, Args) ->
24 3 count_users_with_status(Args).
25
26 -spec list_sessions(map()) -> {ok, mongoose_graphql_session_helper:session_list()}.
27 list_sessions(#{<<"domain">> := null}) ->
28 1 Sessions = mongoose_session_api:list_sessions(),
29 1 {ok, format_sessions(Sessions)};
30 list_sessions(#{<<"domain">> := Domain}) ->
31 1 Sessions = mongoose_session_api:list_sessions(Domain),
32 1 {ok, format_sessions(Sessions)}.
33
34 -spec count_sessions(map()) -> {ok, non_neg_integer()}.
35 count_sessions(#{<<"domain">> := null}) ->
36 1 {ok, mongoose_session_api:count_sessions()};
37 count_sessions(#{<<"domain">> := Domain}) ->
38 1 {ok, mongoose_session_api:count_sessions(Domain)}.
39
40 -spec list_user_sessions(map()) -> {ok, mongoose_graphql_session_helper:session_list()}.
41 list_user_sessions(#{<<"user">> := JID}) ->
42 1 Sessions = mongoose_session_api:list_user_sessions(JID),
43 1 {ok, format_sessions(Sessions)}.
44
45 -spec count_user_resources(map()) -> {ok, non_neg_integer()}.
46 count_user_resources(#{<<"user">> := JID}) ->
47 1 Number = mongoose_session_api:num_resources(JID),
48 1 {ok, Number}.
49
50 -spec get_user_resource(map()) -> {ok, jid:lresource()}.
51 get_user_resource(#{<<"user">> := JID, <<"number">> := ResNumber}) ->
52 2 Result = mongoose_session_api:get_user_resource(JID, ResNumber),
53 2 format_result(Result, #{number => ResNumber}).
54
55 -spec list_users_with_status(map()) -> {ok, mongoose_graphql_session_helper:status_user_list()}.
56 list_users_with_status(#{<<"domain">> := null, <<"status">> := Status}) ->
57 2 StatusUsers = mongoose_session_api:list_status_users(Status),
58 2 {ok, format_status_users(StatusUsers)};
59 list_users_with_status(#{<<"domain">> := Domain, <<"status">> := Status}) ->
60 1 StatusUsers = mongoose_session_api:list_status_users(Domain, Status),
61 1 {ok, format_status_users(StatusUsers)}.
62
63 -spec count_users_with_status(map()) -> {ok, non_neg_integer()}.
64 count_users_with_status(#{<<"domain">> := null, <<"status">> := Status}) ->
65 2 Number = mongoose_session_api:num_status_users(Status),
66 2 {ok, Number};
67 count_users_with_status(#{<<"domain">> := Domain, <<"status">> := Status}) ->
68 1 Number = mongoose_session_api:num_status_users(Domain, Status),
69 1 {ok, Number}.
Line Hits Source