summaryrefslogtreecommitdiff |
diff options
author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2018-12-15 21:48:06 +0100 |
---|---|---|
committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2018-12-15 21:48:06 +0100 |
commit | 71a4a4195292bef8f48e8a533f2d31bc4a53ac2e (patch) | |
tree | c1ca60280c192d95a978ea36d22fe68506abe75b | |
parent | 69968df5ed21045e7a3679239705a397133db67b (diff) |
Seems to be working again.
-rw-r--r-- | src/battle/query/btl_character_turn.erl | 18 | ||||
-rw-r--r-- | src/battle/query/btl_load.erl | 10 | ||||
-rw-r--r-- | src/login/query/lgn_get_player_id.erl | 2 | ||||
-rw-r--r-- | src/login/query/lgn_sign_in.erl | 12 | ||||
-rw-r--r-- | src/map/query/map_load.erl | 10 | ||||
-rw-r--r-- | src/map/query/map_update.erl | 18 | ||||
-rw-r--r-- | src/player/query/plr_get_battles.erl | 2 | ||||
-rw-r--r-- | src/player/query/plr_load.erl | 4 | ||||
-rw-r--r-- | src/roster/query/rst_load.erl | 10 | ||||
-rw-r--r-- | src/roster/query/rst_update.erl | 19 | ||||
-rw-r--r-- | src/shared/io/shr_timed_cache.erl | 23 | ||||
-rw-r--r-- | src/special/spe_player.erl | 16 |
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) + ) + ) ) ] ), |