./ct_report/coverage/mod_offline_api.COVER.html

1 -module(mod_offline_api).
2
3 -export([delete_expired_messages/1, delete_old_messages/2]).
4
5 -spec delete_expired_messages(jid:lserver()) ->
6 {ok | domain_not_found | server_error | module_not_loaded_error, iolist()}.
7 delete_expired_messages(Domain) ->
8 5 call_for_loaded_module(Domain, fun remove_expired_messages/2, {Domain}).
9
10 -spec delete_old_messages(jid:lserver(), Days :: integer()) ->
11 {ok | domain_not_found | server_error | module_not_loaded_error, iolist()}.
12 delete_old_messages(Domain, Days) ->
13 5 call_for_loaded_module(Domain, fun remove_old_messages/2, {Domain, Days}).
14
15 call_for_loaded_module(Domain, Function, Args) ->
16 10 case mongoose_domain_api:get_domain_host_type(Domain) of
17 {ok, HostType} ->
18 8 case gen_mod:is_loaded(HostType, mod_offline) of
19 true ->
20 6 Function(Args, HostType);
21 false ->
22 2 {module_not_loaded_error, "mod_offline is not loaded for this host"}
23 end;
24 {error, not_found} ->
25 2 {domain_not_found, "Unknown domain"}
26 end.
27
28 remove_old_messages({Domain, Days}, HostType) ->
29 3 case mod_offline:remove_old_messages(HostType, Domain, Days) of
30 {ok, C} ->
31 3 {ok, io_lib:format("Removed ~p messages", [C])};
32 {error, Reason} ->
33
:-(
{server_error, io_lib:format("Can't remove old messages: ~n~p", [Reason])}
34 end.
35
36 remove_expired_messages({Domain}, HostType) ->
37 3 case mod_offline:remove_expired_messages(HostType, Domain) of
38 {ok, C} ->
39 3 {ok, io_lib:format("Removed ~p messages", [C])};
40 {error, Reason} ->
41
:-(
{server_error, io_lib:format("Can't remove old messages: ~n~p", [Reason])}
42 end.
Line Hits Source