summaryrefslogtreecommitdiff
path: root/src/ejabberd_oauth_sql.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-04-21 09:02:10 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-04-21 09:02:10 +0300
commit9937cb48fd87a189537c05059c698bae3446765a (patch)
tree75147cc41bbfad7568072e18ffe789e2e6128f9a /src/ejabberd_oauth_sql.erl
parentCorrect option validation (diff)
Use new cache API in ejabberd_oauth
Diffstat (limited to 'src/ejabberd_oauth_sql.erl')
-rw-r--r--src/ejabberd_oauth_sql.erl32
1 files changed, 20 insertions, 12 deletions
diff --git a/src/ejabberd_oauth_sql.erl b/src/ejabberd_oauth_sql.erl
index 10ca4984..5c4a9664 100644
--- a/src/ejabberd_oauth_sql.erl
+++ b/src/ejabberd_oauth_sql.erl
@@ -37,6 +37,7 @@
-include("ejabberd.hrl").
-include("ejabberd_sql_pt.hrl").
-include("jid.hrl").
+-include("logger.hrl").
init() ->
ok.
@@ -47,13 +48,20 @@ store(R) ->
SJID = jid:encode({User, Server, <<"">>}),
Scope = str:join(R#oauth_token.scope, <<" ">>),
Expire = R#oauth_token.expire,
- ?SQL_UPSERT(
- ?MYNAME,
- "oauth_token",
- ["!token=%(Token)s",
- "jid=%(SJID)s",
- "scope=%(Scope)s",
- "expire=%(Expire)d"]).
+ case ?SQL_UPSERT(
+ ?MYNAME,
+ "oauth_token",
+ ["!token=%(Token)s",
+ "jid=%(SJID)s",
+ "scope=%(Scope)s",
+ "expire=%(Expire)d"]) of
+ ok ->
+ ok;
+ Err ->
+ ?ERROR_MSG("Failed to write to SQL 'oauth_token' table: ~p",
+ [Err]),
+ {error, db_failure}
+ end.
lookup(Token) ->
case ejabberd_sql:sql_query(
@@ -63,12 +71,12 @@ lookup(Token) ->
{selected, [{SJID, Scope, Expire}]} ->
JID = jid:decode(SJID),
US = {JID#jid.luser, JID#jid.lserver},
- #oauth_token{token = Token,
- us = US,
- scope = str:tokens(Scope, <<" ">>),
- expire = Expire};
+ {ok, #oauth_token{token = Token,
+ us = US,
+ scope = str:tokens(Scope, <<" ">>),
+ expire = Expire}};
_ ->
- false
+ error
end.
clean(TS) ->