summaryrefslogtreecommitdiff
path: root/src/mod_last_riak.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-05-18 13:21:17 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-05-18 13:21:17 +0300
commitbcb44ccb6f87efdf82cf66c9bd1249d5cc882da3 (patch)
tree298e8b4e70bb9c04a03f5e703c54f6f44269ee88 /src/mod_last_riak.erl
parent?SQL_UPSERT returns 'ok' on success (diff)
Implement cache for mod_last
Diffstat (limited to 'src/mod_last_riak.erl')
-rw-r--r--src/mod_last_riak.erl19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/mod_last_riak.erl b/src/mod_last_riak.erl
index 9b71f994..ac3faa14 100644
--- a/src/mod_last_riak.erl
+++ b/src/mod_last_riak.erl
@@ -43,19 +43,20 @@ get_last(LUser, LServer) ->
{LUser, LServer}) of
{ok, #last_activity{timestamp = TimeStamp,
status = Status}} ->
- {ok, TimeStamp, Status};
- {error, notfound} ->
- not_found;
- Err ->
- Err
+ {ok, {TimeStamp, Status}};
+ {error, notfound} ->
+ error;
+ _Err ->
+ %% TODO: log error
+ {error, db_failure}
end.
store_last_info(LUser, LServer, TimeStamp, Status) ->
US = {LUser, LServer},
- {atomic, ejabberd_riak:put(#last_activity{us = US,
- timestamp = TimeStamp,
- status = Status},
- last_activity_schema())}.
+ ejabberd_riak:put(#last_activity{us = US,
+ timestamp = TimeStamp,
+ status = Status},
+ last_activity_schema()).
remove_user(LUser, LServer) ->
{atomic, ejabberd_riak:delete(last_activity, {LUser, LServer})}.