./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
40 error_handler(Error, Domain, HostType) ->
41 6 case {error, Error} of
42 {error, service_disabled} ->
43
:-(
{error, service_disabled};
44 {error, duplicate} ->
45 1 {error, #{what => domain_duplicate, domain => Domain}};
46 {error, not_found} ->
47 2 {error, #{what => domain_not_found, domain => Domain}};
48 {error, static} ->
49 1 {error, #{what => domain_static, domain => Domain}};
50 {error, wrong_host_type} ->
51 1 {error, #{what => wrong_host_type, host_type => HostType}};
52 {error, unknown_host_type} ->
53 1 {error, #{what => unknown_host_type, host_type => HostType}};
54 {error, {db_error, Term}} ->
55
:-(
{error, #{what => db_error, term => Term}}
56 end.
Line Hits Source