summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-08-10 10:20:09 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-08-10 10:20:09 +0200
commitcbae439196de8382d5218f11e7a3afd812a5ae52 (patch)
tree2f6d35aa5d5462d61ce4a4cd6fb9fd2ba3c79ee3 /src/login/lgn_handler.erl
parent16f10af4f1fbf8c21d127d2163c3ace9611cbb91 (diff)
Got login to work.
Diffstat (limited to 'src/login/lgn_handler.erl')
-rw-r--r--src/login/lgn_handler.erl66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/login/lgn_handler.erl b/src/login/lgn_handler.erl
new file mode 100644
index 0000000..dc154b0
--- /dev/null
+++ b/src/login/lgn_handler.erl
@@ -0,0 +1,66 @@
+-module(lgn_handler).
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-export([start/1]).
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-spec ensure_player_exists (binary(), binary(), binary(), binary()) -> 'ok'.
+ensure_player_exists (ID, Username, Password, Email) ->
+ case shr_database:fetch(player_db, ID, admin) of
+ {ok, _} -> ok;
+ not_found ->
+ shr_database:insert
+ (
+ player_db,
+ ID,
+ any,
+ any,
+ lgn_shim:generate_random_player(ID, Username, Password, Email)
+ )
+ end,
+
+ case shr_database:fetch(login_db, ID, admin) of
+ {ok, _} -> ok;
+ not_found ->
+ shr_database:insert
+ (
+ login_db,
+ Username,
+ any,
+ any,
+ ID
+ )
+ end,
+
+ ok.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-spec start (pid()) -> 'ok'.
+start (TimedCachesManagerPid) ->
+ ensure_player_exists
+ (
+ <<"0">>,
+ <<"Player1">>,
+ <<"Kalimer0">>,
+ <<"P1@Tacticians.Online">>
+ ),
+ ensure_player_exists
+ (
+ <<"1">>,
+ <<"Player2">>,
+ <<"Kalimer1">>,
+ <<"P2@Tacticians.Online">>
+ ),
+ shr_timed_caches_manager:new_cache(TimedCachesManagerPid, login_db, none),
+ shr_timed_caches_manager:new_cache(TimedCachesManagerPid, player_db, none),
+ ok.