./ct_report/coverage/mongoose_graphql_session_admin_query.COVER.html

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