./ct_report/coverage/mongoose_graphql_domain_admin_mutation.COVER.html

1 -module(mongoose_graphql_domain_admin_mutation).
2 -behaviour(mongoose_graphql).
3
4 -export([execute/4]).
5
6 -ignore_xref([execute/4]).
7
8 -include("../mongoose_graphql_types.hrl").
9
10 execute(_Ctx, admin, <<"addDomain">>, #{<<"domain">> := Domain, <<"hostType">> := HostType}) ->
11 5 case mongoose_domain_api:insert_domain(Domain, HostType) of
12 ok ->
13 2 {ok, #domain{domain = Domain, host_type = HostType}};
14 {error, Error} ->
15 3 error_handler(Error, Domain, HostType)
16 end;
17 execute(_Ctx, admin, <<"removeDomain">>, #{<<"domain">> := Domain, <<"hostType">> := HostType}) ->
18 3 case mongoose_domain_api:delete_domain(Domain, HostType) of
19 ok ->
20 2 DomainObj = #domain{domain = Domain, host_type = HostType},
21 2 {ok, #{<<"domain">> => DomainObj, <<"msg">> => <<"Domain removed!">>}};
22 {error, Error} ->
23 1 error_handler(Error, Domain, HostType)
24 end;
25 execute(_Ctx, admin, <<"enableDomain">>, #{<<"domain">> := Domain}) ->
26 2 case mongoose_domain_api:enable_domain(Domain) of
27 ok ->
28 1 {ok, #domain{enabled = true, domain = Domain}};
29 {error, Error} ->
30 1 error_handler(Error, Domain, <<>>)
31 end;
32 execute(_Ctx, admin, <<"disableDomain">>, #{<<"domain">> := Domain}) ->
33 2 case mongoose_domain_api:disable_domain(Domain) of
34 ok ->
35 1 {ok, #domain{enabled = false, domain = Domain}};
36 {error, Error} ->
37 1 error_handler(Error, Domain, <<>>)
38 end;
39 execute(_Ctx, admin, <<"setDomainPassword">>,
40 #{<<"domain">> := Domain, <<"password">> := Password}) ->
41 2 case mongoose_domain_api:set_domain_password(Domain, Password) of
42 ok ->
43 1 {ok, <<"Domain password set successfully">>};
44 {error, Error} ->
45 1 error_handler(Error, Domain, <<>>)
46 end;
47 execute(_Ctx, admin, <<"deleteDomainPassword">>, #{<<"domain">> := Domain}) ->
48 1 ok = mongoose_domain_api:delete_domain_password(Domain),
49 1 {ok, <<"Domain admin deleted successfully">>}.
50
51 error_handler(Error, Domain, HostType) ->
52 7 case {error, Error} of
53 {error, service_disabled} ->
54
:-(
{error, service_disabled};
55 {error, duplicate} ->
56 1 {error, #{what => domain_duplicate, domain => Domain}};
57 {error, not_found} ->
58 3 {error, #{what => domain_not_found, domain => Domain}};
59 {error, static} ->
60 1 {error, #{what => domain_static, domain => Domain}};
61 {error, wrong_host_type} ->
62 1 {error, #{what => wrong_host_type, host_type => HostType}};
63 {error, unknown_host_type} ->
64 1 {error, #{what => unknown_host_type, host_type => HostType}};
65 {error, {db_error, Term}} ->
66
:-(
{error, #{what => db_error, term => Term}}
67 end.
Line Hits Source