aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_auth_riak.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_auth_riak.erl')
-rw-r--r--src/ejabberd_auth_riak.erl32
1 files changed, 19 insertions, 13 deletions
diff --git a/src/ejabberd_auth_riak.erl b/src/ejabberd_auth_riak.erl
index 29da504c9..839bbc720 100644
--- a/src/ejabberd_auth_riak.erl
+++ b/src/ejabberd_auth_riak.erl
@@ -25,8 +25,6 @@
-module(ejabberd_auth_riak).
--compile([{parse_transform, ejabberd_sql_pt}]).
-
-author('alexey@process-one.net').
-behaviour(ejabberd_auth).
@@ -58,21 +56,27 @@ passwd_schema() ->
{record_info(fields, passwd), #passwd{}}.
set_password(User, Server, Password) ->
- ejabberd_riak:put(#passwd{us = {User, Server}, password = Password},
- passwd_schema(),
- [{'2i', [{<<"host">>, Server}]}]).
+ case ejabberd_riak:put(#passwd{us = {User, Server}, password = Password},
+ passwd_schema(),
+ [{'2i', [{<<"host">>, Server}]}]) of
+ ok -> {cache, {ok, Password}};
+ {error, _} -> {nocache, {error, db_failure}}
+ end.
try_register(User, Server, Password) ->
US = {User, Server},
case ejabberd_riak:get(passwd, passwd_schema(), US) of
{error, notfound} ->
- ejabberd_riak:put(#passwd{us = US, password = Password},
- passwd_schema(),
- [{'2i', [{<<"host">>, Server}]}]);
+ case ejabberd_riak:put(#passwd{us = US, password = Password},
+ passwd_schema(),
+ [{'2i', [{<<"host">>, Server}]}]) of
+ ok -> {cache, {ok, Password}};
+ {error, _} -> {nocache, {error, db_failure}}
+ end;
{ok, _} ->
- {error, exists};
- {error, _} = Err ->
- Err
+ {cache, {error, exists}};
+ {error, _} ->
+ {nocache, {error, db_failure}}
end.
get_users(Server, _) ->
@@ -94,9 +98,11 @@ count_users(Server, _) ->
get_password(User, Server) ->
case ejabberd_riak:get(passwd, passwd_schema(), {User, Server}) of
{ok, Password} ->
- {ok, Password};
+ {cache, {ok, Password}};
+ {error, notfound} ->
+ {cache, error};
{error, _} ->
- error
+ {nocache, error}
end.
remove_user(User, Server) ->