aboutsummaryrefslogtreecommitdiff
path: root/src/mod_private.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2013-07-21 20:24:36 +1000
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2013-07-21 23:10:38 +1000
commitd58148fa8db82628304ec32b50b3d3ef70c5879e (patch)
tree57310c31d1650344d3de01b50b24d5c8602418e7 /src/mod_private.erl
parentMake it possible to enable/disable TLS compression (diff)
Add SQL to Mnesia converter
Diffstat (limited to 'src/mod_private.erl')
-rw-r--r--src/mod_private.erl17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/mod_private.erl b/src/mod_private.erl
index 19e1e038e..ae7068480 100644
--- a/src/mod_private.erl
+++ b/src/mod_private.erl
@@ -30,8 +30,8 @@
-behaviour(gen_mod).
--export([start/2, stop/1, process_sm_iq/3,
- remove_user/2, get_data/2, export/1]).
+-export([start/2, stop/1, process_sm_iq/3, import/3,
+ remove_user/2, get_data/2, export/1, import/1]).
-include("ejabberd.hrl").
-include("logger.hrl").
@@ -277,3 +277,16 @@ export(_Server) ->
(_Host, _R) ->
[]
end}].
+
+import(LServer) ->
+ [{<<"select username, namespace, data from private_storage;">>,
+ fun([LUser, XMLNS, XML]) ->
+ El = #xmlel{} = xml_stream:parse_element(XML),
+ #private_storage{usns = {LUser, LServer, XMLNS},
+ xml = El}
+ end}].
+
+import(_LServer, mnesia, #private_storage{} = PS) ->
+ mnesia:dirty_write(PS);
+import(_, _, _) ->
+ pass.