summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-10-08 16:32:22 +0200
committernsensfel <SpamShield0@noot-noot.org>2018-10-08 16:32:22 +0200
commitf027695551d297b02f4bfa614d060d8f0e0d68d7 (patch)
treefca19f73b4006879fa0c8cb3604febac62e2066f
parent9963a25857a1202ea8952fd64e6c6cc5941dc0a1 (diff)
(Broken) ...
-rw-r--r--src/special/spe_player.erl54
1 files changed, 33 insertions, 21 deletions
diff --git a/src/special/spe_player.erl b/src/special/spe_player.erl
index 9cf3fea..50f7784 100644
--- a/src/special/spe_player.erl
+++ b/src/special/spe_player.erl
@@ -12,27 +12,18 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec generate (binary(), binary(), binary()) -> shr_player:type().
-generate (Username, Password, Email) ->
- UsernameLC = string:lowercase(Username),
- EmailLC = string:lowercase(Email),
-
+-spec reserve_login (binary(), binary()) -> 'ok'.
+reserve_login (UsernameLC, EmailLC) ->
shr_janitor:new(login_db, UsernameLC),
shr_janitor:new(login_db, EmailLC),
ok = shr_database:reserve(login_db, UsernameLC, janitor),
ok = shr_database:reserve(login_db, EmailLC, janitor),
- Player = shr_player:new(<<"">>, Username, Password, Email),
-
- {ok, PlayerID} = shr_database:insert(player_db, janitor, janitor, Player),
-
- shr_janitor:new(player_db, PlayerID),
+ ok.
+-spec finalize_login (binary(), binary(), binary()) -> 'ok'.
+finalize_login (UsernameLC, EmailLC, PlayerID) ->
LoginUpdateQueryOps =
[
shr_db_query:set_value(PlayerID),
@@ -40,13 +31,6 @@ generate (Username, Password, Email) ->
shr_db_query:set_write_permission([{user, PlayerID}])
],
- PlayerUpdateQueryOps =
- [
- shr_db_query:set_field(shr_player:get_id_field(), PlayerID),
- shr_db_query:set_read_permission(any),
- shr_db_query:set_write_permission([{user, PlayerID}])
- ],
-
ok =
shr_database:commit
(
@@ -59,12 +43,40 @@ generate (Username, Password, Email) ->
shr_db_query:new(login_db, EmailLC, janitor, LoginUpdateQueryOps)
),
+ 'ok'.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-spec generate (binary(), binary(), binary()) -> shr_player:type().
+generate (Username, Password, Email) ->
+ UsernameLC = string:lowercase(Username),
+ EmailLC = string:lowercase(Email),
+
+ ok = reserve_login(UsernameLC, EmailLC),
+
+ Player = shr_player:new(<<"">>, Username, Password, Email),
+
+ {ok, PlayerID} = shr_database:insert(player_db, janitor, janitor, Player),
+
+ shr_janitor:new(player_db, PlayerID),
+
+ PlayerUpdateQueryOps =
+ [
+ shr_db_query:set_field(shr_player:get_id_field(), PlayerID),
+ shr_db_query:set_read_permission(any),
+ shr_db_query:set_write_permission([{user, PlayerID}])
+ ],
+
+ ok = finalize_login(UsernameLC, EmailLC, PlayerID),
+
ok =
shr_database:commit
(
shr_db_query:new(player_db, PlayerID, janitor, PlayerUpdateQueryOps)
),
+
Result = shr_player:set_id(PlayerID, Player),
Result.