summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-10-01 15:05:41 +0200
committernsensfel <SpamShield0@noot-noot.org>2018-10-01 15:05:41 +0200
commitad9535ddc9cc733548d7c1701add913ef9a7fc79 (patch)
tree73e33bed41296bf711d1385eabf236a11d2176ea
parent8023ce84b37c991db0770aef870283a8f8b19d58 (diff)
Adds a way to retrieve player ids from usernames.
-rw-r--r--conf/yaws.conf.m42
-rw-r--r--src/login/query/lgn_get_player_id.erl44
-rw-r--r--src/login/reply/lgn_set_player_id.erl26
-rw-r--r--src/player/query/plr_get_battles.erl6
4 files changed, 74 insertions, 4 deletions
diff --git a/conf/yaws.conf.m4 b/conf/yaws.conf.m4
index 6f0bea1..c480391 100644
--- a/conf/yaws.conf.m4
+++ b/conf/yaws.conf.m4
@@ -110,6 +110,6 @@ keepalive_timeout = 30000
listen = 0.0.0.0
docroot = __MAKEFILE_WWW_DIR
auth_log = true
- appmods = btl_character_turn btl_load map_load map_update lgn_sign_in lgn_sign_up lgn_recovery rst_load rst_update plr_load plr_get_battles
+ appmods = btl_character_turn btl_load map_load map_update lgn_sign_in lgn_sign_up lgn_recovery lgn_get_player_id rst_load rst_update plr_load plr_get_battles
start_mod = qry_handler
</server>
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}
+ ]
+ }.
diff --git a/src/player/query/plr_get_battles.erl b/src/player/query/plr_get_battles.erl
index e9b4f13..78f68fd 100644
--- a/src/player/query/plr_get_battles.erl
+++ b/src/player/query/plr_get_battles.erl
@@ -45,8 +45,7 @@ generate_reply (QueryState) ->
Output.
-spec handle (binary()) -> binary().
-handle (PlayerIDTXT) ->
- PlayerID = list_to_binary(PlayerIDTXT),
+handle (PlayerID) ->
QueryState = fetch_data(PlayerID),
generate_reply(QueryState).
@@ -54,7 +53,8 @@ handle (PlayerIDTXT) ->
%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
out(A) ->
- {ok, PlayerID} = yaws_api:queryvar(A, "pid"),
+ {ok, PlayerIDTXT} = yaws_api:queryvar(A, "pid"),
+ PlayerID = list_to_binary(PlayerIDTXT),
{
content,
"application/json; charset=UTF-8",