From ad9535ddc9cc733548d7c1701add913ef9a7fc79 Mon Sep 17 00:00:00 2001 From: nsensfel Date: Mon, 1 Oct 2018 15:05:41 +0200 Subject: Adds a way to retrieve player ids from usernames. --- src/login/query/lgn_get_player_id.erl | 44 +++++++++++++++++++++++++++++++++++ src/login/reply/lgn_set_player_id.erl | 26 +++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 src/login/query/lgn_get_player_id.erl create mode 100644 src/login/reply/lgn_set_player_id.erl (limited to 'src/login') diff --git a/src/login/query/lgn_get_player_id.erl b/src/login/query/lgn_get_player_id.erl new file mode 100644 index 0000000..09061fe --- /dev/null +++ b/src/login/query/lgn_get_player_id.erl @@ -0,0 +1,44 @@ +-module(lgn_get_player_id). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-include("../../../include/yaws_api.hrl"). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-export([out/1]). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec fetch_data (binary()) -> binary(). +fetch_data (Input) -> + PlayerID = shr_timed_cache:fetch(login_db, any, Input), + + PlayerID. + +-spec generate_reply(binary()) -> binary(). +generate_reply (PlayerID) -> + SetPlayerID = lgn_set_player_id:generate(PlayerID), + Output = jiffy:encode([SetPlayerID]), + + Output. + +-spec handle (binary()) -> binary(). +handle (UsernameOrEmail) -> + PlayerID = fetch_data(UsernameOrEmail), + generate_reply(PlayerID). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +out(A) -> + {ok, UsernameOrEmailTXT} = yaws_api:queryvar(A, "name"), + UsernameOrEmail = list_to_binary(UsernameOrEmailTXT), + { + content, + "application/json; charset=UTF-8", + handle(UsernameOrEmail) + }. diff --git a/src/login/reply/lgn_set_player_id.erl b/src/login/reply/lgn_set_player_id.erl new file mode 100644 index 0000000..6c5d207 --- /dev/null +++ b/src/login/reply/lgn_set_player_id.erl @@ -0,0 +1,26 @@ +-module(lgn_set_player_id). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-export([generate/1]). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec generate (binary()) -> {list(any())}. +generate (PlayerID) -> + { + [ + {<<"msg">>, <<"spi">>}, + {<<"pid">>, PlayerID} + ] + }. -- cgit v1.2.3-70-g09d2