summaryrefslogtreecommitdiff
path: root/src/mod_announce_riak.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-05-22 16:14:28 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-05-22 16:14:28 +0300
commitd7878ef1316d68910c7e2a1b67476bc210f1bc45 (patch)
tree3a7dca70644916f9bac627a00c1e2789a2682436 /src/mod_announce_riak.erl
parentDescribe command arguments and results in mod_muc_admin (diff)
Implement cache for mod_announce
Diffstat (limited to 'src/mod_announce_riak.erl')
-rw-r--r--src/mod_announce_riak.erl37
1 files changed, 19 insertions, 18 deletions
diff --git a/src/mod_announce_riak.erl b/src/mod_announce_riak.erl
index b231dec9..04a29a68 100644
--- a/src/mod_announce_riak.erl
+++ b/src/mod_announce_riak.erl
@@ -46,47 +46,48 @@ set_motd_users(_LServer, USRs) ->
ok = ejabberd_riak:put(#motd_users{us = {U, S}},
motd_users_schema(),
[{'2i', [{<<"server">>, S}]}])
- end, USRs),
- {atomic, ok}
- catch _:{badmatch, Err} ->
- {atomic, Err}
+ end, USRs)
+ catch _:{badmatch, {error, _} = Err} ->
+ Err
end.
set_motd(LServer, Packet) ->
- {atomic, ejabberd_riak:put(#motd{server = LServer,
- packet = Packet},
- motd_schema())}.
+ ejabberd_riak:put(#motd{server = LServer,
+ packet = Packet},
+ motd_schema()).
delete_motd(LServer) ->
try
ok = ejabberd_riak:delete(motd, LServer),
ok = ejabberd_riak:delete_by_index(motd_users,
<<"server">>,
- LServer),
- {atomic, ok}
- catch _:{badmatch, Err} ->
- {atomic, Err}
+ LServer)
+ catch _:{badmatch, {error, _} = Err} ->
+ Err
end.
get_motd(LServer) ->
case ejabberd_riak:get(motd, motd_schema(), LServer) of
{ok, #motd{packet = Packet}} ->
{ok, Packet};
- _ ->
- error
+ {error, notfound} ->
+ error;
+ {error, _} = Err ->
+ Err
end.
is_motd_user(LUser, LServer) ->
case ejabberd_riak:get(motd_users, motd_users_schema(),
{LUser, LServer}) of
- {ok, #motd_users{}} -> true;
- _ -> false
+ {ok, #motd_users{}} -> {ok, true};
+ {error, notfound} -> {ok, false};
+ {error, _} = Err -> Err
end.
set_motd_user(LUser, LServer) ->
- {atomic, ejabberd_riak:put(
- #motd_users{us = {LUser, LServer}}, motd_users_schema(),
- [{'2i', [{<<"server">>, LServer}]}])}.
+ ejabberd_riak:put(
+ #motd_users{us = {LUser, LServer}}, motd_users_schema(),
+ [{'2i', [{<<"server">>, LServer}]}]).
import(LServer, <<"motd">>, [<<>>, XML, _TimeStamp]) ->
El = fxml_stream:parse_element(XML),