summaryrefslogtreecommitdiff
path: root/src/mod_mam_mnesia.erl
diff options
context:
space:
mode:
authorChristoph Scholz <christoph.scholz@gmail.com>2019-01-27 15:35:06 +0100
committerChristoph Scholz <christoph.scholz@gmail.com>2019-02-18 13:42:45 +0100
commit2e586000d7e550d44799049d9a66f81767c0db25 (patch)
treedea399f65303912806572dfa532cd347df40f5f1 /src/mod_mam_mnesia.erl
parentoption to prevent archive removal on room destroy (diff)
allow check if archive is empty for or user or room
Diffstat (limited to 'src/mod_mam_mnesia.erl')
-rw-r--r--src/mod_mam_mnesia.erl10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mod_mam_mnesia.erl b/src/mod_mam_mnesia.erl
index 08d55158..f94dd2e4 100644
--- a/src/mod_mam_mnesia.erl
+++ b/src/mod_mam_mnesia.erl
@@ -28,7 +28,8 @@
%% API
-export([init/2, remove_user/2, remove_room/3, delete_old_messages/3,
- extended_fields/0, store/8, write_prefs/4, get_prefs/2, select/6, remove_from_archive/3]).
+ extended_fields/0, store/8, write_prefs/4, get_prefs/2, select/6, remove_from_archive/3,
+ is_empty_for_user/2, is_empty_for_room/3]).
-include_lib("stdlib/include/ms_transform.hrl").
-include("xmpp.hrl").
@@ -198,6 +199,13 @@ select(_LServer, JidRequestor,
erlang:garbage_collect(),
Result.
+is_empty_for_user(LUser, LServer) ->
+ not lists:member({LUser, LServer},
+ mnesia:dirty_all_keys(archive_msg)).
+
+is_empty_for_room(_LServer, LName, LHost) ->
+ is_empty_for_user(LName, LHost).
+
%%%===================================================================
%%% Internal functions
%%%===================================================================