mirror of
https://github.com/processone/ejabberd
synced 2025-10-06 03:50:15 +02:00
Serialize records to proplists before storing then in Riak
This commit is contained in:
parent
19cc687928
commit
792b5a24df
15 changed files with 237 additions and 105 deletions
|
@ -185,7 +185,8 @@ process_blocklist_block(LUser, LServer, Filter,
|
|||
riak) ->
|
||||
{atomic,
|
||||
begin
|
||||
case ejabberd_riak:get(privacy, {LUser, LServer}) of
|
||||
case ejabberd_riak:get(privacy, mod_privacy:privacy_schema(),
|
||||
{LUser, LServer}) of
|
||||
{ok, #privacy{default = Default, lists = Lists} = P} ->
|
||||
case lists:keysearch(Default, 1, Lists) of
|
||||
{value, {_, List}} ->
|
||||
|
@ -205,7 +206,8 @@ process_blocklist_block(LUser, LServer, Filter,
|
|||
NewList = Filter(List),
|
||||
NewLists = [{NewDefault, NewList} | NewLists1],
|
||||
case ejabberd_riak:put(P#privacy{default = NewDefault,
|
||||
lists = NewLists}) of
|
||||
lists = NewLists},
|
||||
mod_privacy:privacy_schema()) of
|
||||
ok ->
|
||||
{ok, NewDefault, NewList};
|
||||
Err ->
|
||||
|
@ -389,7 +391,8 @@ process_blocklist_unblock(LUser, LServer, Filter,
|
|||
process_blocklist_unblock(LUser, LServer, Filter,
|
||||
riak) ->
|
||||
{atomic,
|
||||
case ejabberd_riak:get(privacy, {LUser, LServer}) of
|
||||
case ejabberd_riak:get(privacy, mod_privacy:privacy_schema(),
|
||||
{LUser, LServer}) of
|
||||
{error, _} ->
|
||||
%% No lists, nothing to unblock
|
||||
ok;
|
||||
|
@ -399,7 +402,8 @@ process_blocklist_unblock(LUser, LServer, Filter,
|
|||
NewList = Filter(List),
|
||||
NewLists1 = lists:keydelete(Default, 1, Lists),
|
||||
NewLists = [{Default, NewList} | NewLists1],
|
||||
case ejabberd_riak:put(P#privacy{lists = NewLists}) of
|
||||
case ejabberd_riak:put(P#privacy{lists = NewLists},
|
||||
mod_privacy:privacy_schema()) of
|
||||
ok ->
|
||||
{ok, Default, NewList};
|
||||
Err ->
|
||||
|
@ -489,7 +493,8 @@ process_blocklist_get(LUser, LServer, mnesia) ->
|
|||
end
|
||||
end;
|
||||
process_blocklist_get(LUser, LServer, riak) ->
|
||||
case ejabberd_riak:get(privacy, {LUser, LServer}) of
|
||||
case ejabberd_riak:get(privacy, {LUser, LServer},
|
||||
mod_privacy:privacy_schema()) of
|
||||
{ok, #privacy{default = Default, lists = Lists}} ->
|
||||
case lists:keysearch(Default, 1, Lists) of
|
||||
{value, {_, List}} -> List;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue