summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-12-15 21:48:06 +0100
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-12-15 21:48:06 +0100
commit71a4a4195292bef8f48e8a533f2d31bc4a53ac2e (patch)
treec1ca60280c192d95a978ea36d22fe68506abe75b
parent69968df5ed21045e7a3679239705a397133db67b (diff)
Seems to be working again.
-rw-r--r--src/battle/query/btl_character_turn.erl18
-rw-r--r--src/battle/query/btl_load.erl10
-rw-r--r--src/login/query/lgn_get_player_id.erl2
-rw-r--r--src/login/query/lgn_sign_in.erl12
-rw-r--r--src/map/query/map_load.erl10
-rw-r--r--src/map/query/map_update.erl18
-rw-r--r--src/player/query/plr_get_battles.erl2
-rw-r--r--src/player/query/plr_load.erl4
-rw-r--r--src/roster/query/rst_load.erl10
-rw-r--r--src/roster/query/rst_update.erl19
-rw-r--r--src/shared/io/shr_timed_cache.erl23
-rw-r--r--src/special/spe_player.erl16
12 files changed, 115 insertions, 29 deletions
diff --git a/src/battle/query/btl_character_turn.erl b/src/battle/query/btl_character_turn.erl
index 9d00834..76613ba 100644
--- a/src/battle/query/btl_character_turn.erl
+++ b/src/battle/query/btl_character_turn.erl
@@ -30,7 +30,7 @@ authenticate_user (Request) ->
PlayerID = btl_character_turn_request:get_player_id(Request),
SessionToken = btl_character_turn_request:get_session_token(Request),
- Player = shr_timed_cache:fetch(player_db, any, PlayerID),
+ Player = shr_timed_cache:fetch(player_db, ataxia_security:any(), PlayerID),
case shr_security:credentials_match(SessionToken, Player) of
true -> ok;
@@ -47,7 +47,13 @@ fetch_data (Request) ->
PlayerID = btl_character_turn_request:get_player_id(Request),
BattleID = btl_character_turn_request:get_battle_id(Request),
CharacterIX = btl_character_turn_request:get_character_ix(Request),
- Battle = shr_timed_cache:fetch(battle_db, PlayerID, BattleID),
+ Battle =
+ shr_timed_cache:fetch
+ (
+ battle_db,
+ ataxia_security:user_from_id(PlayerID),
+ BattleID
+ ),
btl_character_turn_data:new(Battle, CharacterIX).
@@ -248,7 +254,13 @@ send_to_cache (Update, Request) ->
Data = btl_character_turn_update:get_data(Update),
Battle = btl_character_turn_data:get_battle(Data),
- shr_timed_cache:update(battle_db, PlayerID, BattleID, Battle),
+ shr_timed_cache:update
+ (
+ battle_db,
+ ataxia_security:user_from_id(PlayerID),
+ BattleID,
+ Battle
+ ),
ok.
diff --git a/src/battle/query/btl_load.erl b/src/battle/query/btl_load.erl
index bbc9a3f..64e9354 100644
--- a/src/battle/query/btl_load.erl
+++ b/src/battle/query/btl_load.erl
@@ -53,7 +53,7 @@ authenticate_user (Input) ->
PlayerID = Input#input.player_id,
SessionToken = Input#input.session_token,
- Player = shr_timed_cache:fetch(player_db, any, PlayerID),
+ Player = shr_timed_cache:fetch(player_db, ataxia_security:any(), PlayerID),
case shr_security:credentials_match(SessionToken, Player) of
true -> ok;
@@ -65,7 +65,13 @@ fetch_data (Input) ->
PlayerID = Input#input.player_id,
BattleID = Input#input.battle_id,
- Battle = shr_timed_cache:fetch(battle_db, PlayerID, BattleID),
+ Battle =
+ shr_timed_cache:fetch
+ (
+ battle_db,
+ ataxia_security:user_from_id(PlayerID),
+ BattleID
+ ),
#query_state
{
diff --git a/src/login/query/lgn_get_player_id.erl b/src/login/query/lgn_get_player_id.erl
index 09061fe..d87c8e2 100644
--- a/src/login/query/lgn_get_player_id.erl
+++ b/src/login/query/lgn_get_player_id.erl
@@ -15,7 +15,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-spec fetch_data (binary()) -> binary().
fetch_data (Input) ->
- PlayerID = shr_timed_cache:fetch(login_db, any, Input),
+ PlayerID = shr_timed_cache:fetch(login_db, ataxia_security:any(), Input),
PlayerID.
diff --git a/src/login/query/lgn_sign_in.erl b/src/login/query/lgn_sign_in.erl
index 19c4efe..6d4892d 100644
--- a/src/login/query/lgn_sign_in.erl
+++ b/src/login/query/lgn_sign_in.erl
@@ -51,9 +51,9 @@ fetch_data (Input) ->
Username = Input#input.username,
% Having this be cached my be both useless and a security issue.
- PlayerID = shr_timed_cache:fetch(login_db, any, Username),
+ PlayerID = shr_timed_cache:fetch(login_db, ataxia_security:any(), Username),
- Player = shr_timed_cache:fetch(player_db, any, PlayerID),
+ Player = shr_timed_cache:fetch(player_db, ataxia_security:any(), PlayerID),
#query_state
{
@@ -109,7 +109,13 @@ commit_update (QueryState) ->
PlayerID
),
- shr_timed_cache:update(player_db, any, PlayerID, UpdatedPlayer),
+ shr_timed_cache:update
+ (
+ player_db,
+ ataxia_security:any(),
+ PlayerID,
+ UpdatedPlayer
+ ),
'ok'.
diff --git a/src/map/query/map_load.erl b/src/map/query/map_load.erl
index ad6db17..2df9ca1 100644
--- a/src/map/query/map_load.erl
+++ b/src/map/query/map_load.erl
@@ -53,7 +53,7 @@ authenticate_user (Input) ->
PlayerID = Input#input.player_id,
SessionToken = Input#input.session_token,
- Player = shr_timed_cache:fetch(player_db, any, PlayerID),
+ Player = shr_timed_cache:fetch(player_db, ataxia_security:any(), PlayerID),
case shr_security:credentials_match(SessionToken, Player) of
true -> ok;
@@ -65,7 +65,13 @@ fetch_data (Input) ->
PlayerID = Input#input.player_id,
MapID = Input#input.map_id,
- Map = shr_timed_cache:fetch(map_db, PlayerID, MapID),
+ Map =
+ shr_timed_cache:fetch
+ (
+ map_db,
+ ataxia_security:user_from_id(PlayerID),
+ MapID
+ ),
#query_state
{
diff --git a/src/map/query/map_update.erl b/src/map/query/map_update.erl
index 791bab1..0989933 100644
--- a/src/map/query/map_update.erl
+++ b/src/map/query/map_update.erl
@@ -76,7 +76,7 @@ authenticate_user (Input) ->
PlayerID = Input#input.player_id,
SessionToken = Input#input.session_token,
- Player = shr_timed_cache:fetch(player_db, any, PlayerID),
+ Player = shr_timed_cache:fetch(player_db, ataxia_security:any(), PlayerID),
case shr_security:credentials_match(SessionToken, Player) of
true -> ok;
@@ -88,7 +88,13 @@ fetch_data (Input) ->
PlayerID = Input#input.player_id,
MapID = Input#input.map_id,
- Map = shr_timed_cache:fetch(map_db, PlayerID, MapID),
+ Map =
+ shr_timed_cache:fetch
+ (
+ map_db,
+ ataxia_security:user_from_id(PlayerID),
+ MapID
+ ),
#query_state
{
@@ -146,7 +152,13 @@ commit_update (QueryState, Input) ->
MapID
),
- shr_timed_cache:update(map_db, PlayerID, MapID, Map),
+ shr_timed_cache:update
+ (
+ map_db,
+ ataxia_security:user_from_id(PlayerID),
+ MapID,
+ Map
+ ),
'ok'.
diff --git a/src/player/query/plr_get_battles.erl b/src/player/query/plr_get_battles.erl
index 78f68fd..0d93154 100644
--- a/src/player/query/plr_get_battles.erl
+++ b/src/player/query/plr_get_battles.erl
@@ -28,7 +28,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-spec fetch_data (binary()) -> query_state().
fetch_data (PlayerID) ->
- Player = shr_timed_cache:fetch(player_db, any, PlayerID),
+ Player = shr_timed_cache:fetch(player_db, ataxia_security:any(), PlayerID),
#query_state
{
diff --git a/src/player/query/plr_load.erl b/src/player/query/plr_load.erl
index 36ff74e..c73c6bd 100644
--- a/src/player/query/plr_load.erl
+++ b/src/player/query/plr_load.erl
@@ -53,7 +53,7 @@ authenticate_user (Input) ->
PlayerID = Input#input.player_id,
SessionToken = Input#input.session_token,
- Player = shr_timed_cache:fetch(player_db, any, PlayerID),
+ Player = shr_timed_cache:fetch(player_db, ataxia_security:any(), PlayerID),
case shr_security:credentials_match(SessionToken, Player) of
true -> ok;
@@ -64,7 +64,7 @@ authenticate_user (Input) ->
fetch_data (Input) ->
TargetID = Input#input.target_id,
- Player = shr_timed_cache:fetch(player_db, any, TargetID),
+ Player = shr_timed_cache:fetch(player_db, ataxia_security:any(), TargetID),
#query_state
{
diff --git a/src/roster/query/rst_load.erl b/src/roster/query/rst_load.erl
index 7871b78..cfd42c7 100644
--- a/src/roster/query/rst_load.erl
+++ b/src/roster/query/rst_load.erl
@@ -52,7 +52,7 @@ authenticate_user (Input) ->
PlayerID = Input#input.player_id,
SessionToken = Input#input.session_token,
- Player = shr_timed_cache:fetch(player_db, any, PlayerID),
+ Player = shr_timed_cache:fetch(player_db, ataxia_security:any(), PlayerID),
case shr_security:credentials_match(SessionToken, Player) of
true -> {ok, Player};
@@ -65,7 +65,13 @@ fetch_data (Player, Input) ->
RosterID = shr_player:get_roster_id(Player),
% InventoryID = shr_player:get_inventory_id(Player),
- Roster = shr_timed_cache:fetch(roster_db, PlayerID, RosterID),
+ Roster =
+ shr_timed_cache:fetch
+ (
+ roster_db,
+ ataxia_security:user_from_id(PlayerID),
+ RosterID
+ ),
%% TODO
%% Inventory = shr_timed_cache:fetch(inventory_db, PlayerID, InventoryID),
diff --git a/src/roster/query/rst_update.erl b/src/roster/query/rst_update.erl
index f329038..dfc634e 100644
--- a/src/roster/query/rst_update.erl
+++ b/src/roster/query/rst_update.erl
@@ -68,7 +68,7 @@ authenticate_user (Input) ->
PlayerID = Input#input.player_id,
SessionToken = Input#input.session_token,
- Player = shr_timed_cache:fetch(player_db, any, PlayerID),
+ Player = shr_timed_cache:fetch(player_db, ataxia_security:any(), PlayerID),
case shr_security:credentials_match(SessionToken, Player) of
true -> {ok, Player};
@@ -81,7 +81,14 @@ fetch_data (Player, Input) ->
RosterID = shr_player:get_roster_id(Player),
_InventoryID = shr_player:get_inventory_id(Player),
- Roster = shr_timed_cache:fetch(roster_db, PlayerID, RosterID),
+ Roster =
+ shr_timed_cache:fetch
+ (
+ roster_db,
+ ataxia_security:user_from_id(PlayerID),
+ RosterID
+ ),
+
% Inventory = shr_timed_cache:fetch(inventory_db, PlayerID, InventoryID),
Inventory = shr_inventory:new(PlayerID),
@@ -153,7 +160,13 @@ commit_update (QueryState, Input) ->
RosterID
),
- shr_timed_cache:update(roster_db, PlayerID, RosterID, UpdatedRoster),
+ shr_timed_cache:update
+ (
+ roster_db,
+ ataxia_security:user_from_id(PlayerID),
+ RosterID,
+ UpdatedRoster
+ ),
'ok'.
diff --git a/src/shared/io/shr_timed_cache.erl b/src/shared/io/shr_timed_cache.erl
index ff6e13d..45ddb1a 100644
--- a/src/shared/io/shr_timed_cache.erl
+++ b/src/shared/io/shr_timed_cache.erl
@@ -35,14 +35,27 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec add_to_cache (atom(), any(), any()) -> any().
+-spec add_to_cache
+ (
+ atom(),
+ ataxia_security:user(),
+ ataxia_id:type()
+ )
+ -> any().
add_to_cache (DB, Owner, ObjectID) ->
{ok, TimerPID} = gen_server:start(?MODULE, {DB, {Owner, ObjectID}}, []),
{ok, Data} = ataxia_client:fetch(DB, Owner, ObjectID),
ets:insert(DB, {{Owner, ObjectID}, TimerPID, Data}),
Data.
--spec add_update_to_cache (atom(), any(), any(), any()) -> 'ok'.
+-spec add_update_to_cache
+ (
+ atom(),
+ ataxia_security:user(),
+ ataxia_id:type(),
+ any()
+ )
+ -> 'ok'.
add_update_to_cache (DB, Owner, ObjectID, Data) ->
{ok, TimerPID} = gen_server:start(?MODULE, {DB, {Owner, ObjectID}}, []),
ets:insert(DB, {{Owner, ObjectID}, TimerPID, Data}),
@@ -86,7 +99,7 @@ handle_info(_, {DB, ObjectID}) ->
{noreply, {DB, ObjectID}, shr_timed_caches_manager:get_timeout()}.
%%%% Interface Functions
--spec fetch (atom(), any(), any()) -> any().
+-spec fetch (atom(), ataxia_security:user(), ataxia_id:type()) -> any().
fetch (DB, Owner, ObjectID) ->
io:format("~nfetch from cache: ~p.~n", [{DB, {Owner, ObjectID}}]),
case ets:lookup(DB, {Owner, ObjectID}) of
@@ -97,7 +110,7 @@ fetch (DB, Owner, ObjectID) ->
Data
end.
--spec update (atom(), any(), any(), any()) -> 'ok'.
+-spec update (atom(), ataxia_security:user(), ataxia_id:type(), any()) -> 'ok'.
update (DB, Owner, ObjectID, Data) ->
io:format("~nUpdating cache: ~p.~n", [{DB, {Owner, ObjectID}}]),
case ets:lookup(DB, {Owner, ObjectID}) of
@@ -108,7 +121,7 @@ update (DB, Owner, ObjectID, Data) ->
end,
add_update_to_cache(DB, Owner, ObjectID, Data).
--spec invalidate (atom(), any(), any()) -> 'ok'.
+-spec invalidate (atom(), ataxia_security:user(), ataxia_id:type()) -> 'ok'.
invalidate (DB, Owner, ObjectID) ->
case ets:lookup(DB, {Owner, ObjectID}) of
[] ->
diff --git a/src/special/spe_player.erl b/src/special/spe_player.erl
index 2e1b13e..00086fd 100644
--- a/src/special/spe_player.erl
+++ b/src/special/spe_player.erl
@@ -28,11 +28,23 @@ finalize_login (UsernameLC, EmailLC, PlayerID) ->
ataxic:update_value(ataxic:constant(PlayerID)),
ataxic:update_read_permission
(
- ataxic:constant(ataxia_security:any())
+ ataxic:constant
+ (
+ ataxia_security:allow_only
+ (
+ ataxia_security:any()
+ )
+ )
),
ataxic:update_write_permission
(
- ataxic:constant([ataxia_security:user_from_id(PlayerID)])
+ ataxic:constant
+ (
+ ataxia_security:allow_only
+ (
+ ataxia_security:user_from_id(PlayerID)
+ )
+ )
)
]
),