Current section
Files
Jump to
Current section
Files
src/ls_token.erl
-module(ls_token).
-export([
delete/1,
get/1,
add/2,
add/3
]).
-ignore_xref([
delete/1,
get/1,
add/2,
add/3
]).
%%%===================================================================
%%% Token Functions
%%%===================================================================
%%--------------------------------------------------------------------
%% @doc Deletes a user.
%% @end
%%--------------------------------------------------------------------
-spec delete(Token::fifo:token()) ->
{error, no_servers} |
not_found |
ok.
delete(Token) ->
send(libsnarl_msg:token_delete(r(), Token)).
%%--------------------------------------------------------------------
%% @doc Adds a new token.
%% @end
%%--------------------------------------------------------------------
-spec get(Token::term()) ->
{error, no_servers} |
{ok, TokenData :: term()}.
get(Token) ->
send(libsnarl_msg:token_get(r(), Token)).
%%--------------------------------------------------------------------
%% @doc Adds a new token.
%% @end
%%--------------------------------------------------------------------
-spec add(Timeout::integer(), Data::term()) ->
{error, no_servers} |
{ok, Token :: binary()}.
add(Timeout, Data) ->
send(libsnarl_msg:token_add(r(), Timeout, Data)).
%%--------------------------------------------------------------------
%% @doc Adds a new token.
%% @end
%%--------------------------------------------------------------------
-spec add(Token::term(), Timeout::integer(), Data::term()) ->
{error, no_servers} |
{ok, Token :: binary()}.
add(Token, Timeout, Data) ->
send(libsnarl_msg:token_add(r(), Token, Timeout, Data)).
%%%===================================================================
%%% Internal Functions
%%%===================================================================
%%--------------------------------------------------------------------
%% @private
%% @doc Sends a message.
%% @spec send(Msg::term()) -> {ok, Reply::term()} | {error, no_server}
%% @end
%%--------------------------------------------------------------------
-spec send(Msg::fifo:snarl_message()) ->
ok |
not_found |
{ok, Reply::term()} |
{error, no_servers}.
send(Msg) ->
case libsnarl_server:call(Msg) of
{reply, Reply} ->
Reply;
E ->
E
end.
r() ->
application:get_env(libsnarl, realm, <<"default">>).