diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-04-21 09:02:10 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-04-21 09:02:10 +0300 |
commit | 9937cb48fd87a189537c05059c698bae3446765a (patch) | |
tree | 75147cc41bbfad7568072e18ffe789e2e6128f9a /src/ejabberd_oauth_sql.erl | |
parent | Correct 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.erl | 32 |
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) -> |