./ct_report/coverage/mongoose_graphql_helper.COVER.html

1 -module(mongoose_graphql_helper).
2
3 -export([check_user/1]).
4
5 -export([format_result/2, make_error/2, make_error/3]).
6
7 -include("jlib.hrl").
8 -include("mongoose_graphql_types.hrl").
9
10 -spec format_result(InResult, Context) -> OutResult when
11 InResult :: {atom(), iodata() | integer()},
12 Context :: map(),
13 OutResult :: {ok, binary() | integer()} | {error, resolver_error()}.
14 format_result(Result, Context) ->
15 39 case Result of
16 1 {ok, Val} when is_integer(Val) -> {ok, Val};
17 17 {ok, Msg} -> {ok, iolist_to_binary(Msg)};
18 21 {ErrCode, Msg} -> make_error(ErrCode, Msg, Context)
19 end.
20
21 -spec make_error({atom(), iodata()}, map()) -> {error, resolver_error()}.
22 make_error({Reason, Msg}, Context) ->
23 34 make_error(Reason, Msg, Context).
24
25 -spec make_error(atom(), iodata(), map()) -> {error, resolver_error()}.
26 make_error(Reason, Msg, Context) ->
27 58 {error, #resolver_error{reason = Reason, msg = iolist_to_binary(Msg), context = Context}}.
28
29 -spec check_user(jid:jid()) -> {ok, mongooseim:host_type()} | {error, term()}.
30 check_user(#jid{lserver = LServer} = Jid) ->
31
:-(
case mongoose_domain_api:get_domain_host_type(LServer) of
32 {ok, HostType} ->
33
:-(
check_auth(HostType, Jid);
34 _ ->
35
:-(
{error, #{what => unknown_domain, domain => LServer}}
36 end.
37
38 check_auth(HostType, Jid) ->
39
:-(
case ejabberd_auth:does_user_exist(HostType, Jid, stored) of
40 true ->
41
:-(
{ok, HostType};
42 false ->
43
:-(
{error, #{what => unknown_user, jid => jid:to_binary(Jid)}}
44 end.
Line Hits Source