| summaryrefslogtreecommitdiff | 
diff options
| -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) +                  ) +               )              )           ]        ), | 


