diff options
Diffstat (limited to 'src/mod_private_riak.erl')
-rw-r--r-- | src/mod_private_riak.erl | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/src/mod_private_riak.erl b/src/mod_private_riak.erl deleted file mode 100644 index 11cfa4770..000000000 --- a/src/mod_private_riak.erl +++ /dev/null @@ -1,67 +0,0 @@ -%%%------------------------------------------------------------------- -%%% @author Evgeny Khramtsov <ekhramtsov@process-one.net> -%%% @copyright (C) 2016, Evgeny Khramtsov -%%% @doc -%%% -%%% @end -%%% Created : 13 Apr 2016 by Evgeny Khramtsov <ekhramtsov@process-one.net> -%%%------------------------------------------------------------------- --module(mod_private_riak). - --behaviour(mod_private). - -%% API --export([init/2, set_data/3, get_data/3, get_all_data/2, remove_user/2, - import/2]). - --include("jlib.hrl"). --include("mod_private.hrl"). - -%%%=================================================================== -%%% API -%%%=================================================================== -init(_Host, _Opts) -> - ok. - -set_data(LUser, LServer, Data) -> - lists:foreach( - fun({XMLNS, El}) -> - ejabberd_riak:put(#private_storage{usns = {LUser, LServer, XMLNS}, - xml = El}, - private_storage_schema(), - [{'2i', [{<<"us">>, {LUser, LServer}}]}]) - end, Data), - {atomic, ok}. - -get_data(LUser, LServer, XMLNS) -> - case ejabberd_riak:get(private_storage, private_storage_schema(), - {LUser, LServer, XMLNS}) of - {ok, #private_storage{xml = El}} -> - {ok, El}; - _ -> - error - end. - -get_all_data(LUser, LServer) -> - case ejabberd_riak:get_by_index( - private_storage, private_storage_schema(), - <<"us">>, {LUser, LServer}) of - {ok, Res} -> - [El || #private_storage{xml = El} <- Res]; - _ -> - [] - end. - -remove_user(LUser, LServer) -> - {atomic, ejabberd_riak:delete_by_index(private_storage, - <<"us">>, {LUser, LServer})}. - -import(_LServer, #private_storage{usns = {LUser, LServer, _}} = PS) -> - ejabberd_riak:put(PS, private_storage_schema(), - [{'2i', [{<<"us">>, {LUser, LServer}}]}]). - -%%%=================================================================== -%%% Internal functions -%%%=================================================================== -private_storage_schema() -> - {record_info(fields, private_storage), #private_storage{}}. |