./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 -type(api_result()) :: {ok | domain_not_found | server_error, iolist()}.
6
7 -spec delete_expired_messages(jid:lserver()) -> api_result().
8 delete_expired_messages(Domain) ->
9 11 call_for_host_type(Domain, fun remove_expired_messages/2, [Domain]).
10
11 -spec delete_old_messages(jid:lserver(), Days :: pos_integer()) -> api_result().
12 delete_old_messages(Domain, Days) ->
13 11 call_for_host_type(Domain, fun remove_old_messages/3, [Domain, Days]).
14
15 call_for_host_type(Domain, Function, Args) ->
16 22 case mongoose_domain_api:get_domain_host_type(Domain) of
17 {ok, HostType} ->
18 18 apply(Function, [HostType | Args]);
19 {error, not_found} ->
20 4 {domain_not_found, "Unknown domain"}
21 end.
22
23 remove_old_messages(HostType, Domain, Days) ->
24 9 case mod_offline:remove_old_messages(HostType, Domain, Days) of
25 {ok, C} ->
26 9 {ok, io_lib:format("Removed ~p messages", [C])};
27 {error, Reason} ->
28
:-(
{server_error, io_lib:format("Can't remove old messages: ~n~p", [Reason])}
29 end.
30
31 remove_expired_messages(HostType, Domain) ->
32 9 case mod_offline:remove_expired_messages(HostType, Domain) of
33 {ok, C} ->
34 9 {ok, io_lib:format("Removed ~p messages", [C])};
35 {error, Reason} ->
36
:-(
{server_error, io_lib:format("Can't remove old messages: ~n~p", [Reason])}
37 end.
Line Hits Source