CLAUDE: Add team roster cache invalidation to all player mutations
- Fix unsafe dict access in PUT endpoint roster cache invalidation - Add roster cache invalidation to PATCH, POST, and DELETE endpoints - Use wildcard pattern to invalidate all roster caches since: * Team IDs may change in PUT/PATCH operations * Multiple teams affected in bulk POST operations * Ensures stale roster data is never served This ensures team rosters are immediately updated when players are added, removed, or transferred between teams. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
b39066e06d
commit
a3f84ac935
@ -208,6 +208,8 @@ async def put_player(
|
||||
invalidate_cache("api:get_players*")
|
||||
invalidate_cache("api:search_players*")
|
||||
invalidate_cache(f"api:get_one_player*{player_id}*")
|
||||
# Invalidate team roster cache (use wildcard since team may have changed)
|
||||
invalidate_cache("api:get_team_roster*")
|
||||
|
||||
return r_player
|
||||
|
||||
@ -294,6 +296,8 @@ async def patch_player(
|
||||
invalidate_cache("api:get_players*")
|
||||
invalidate_cache("api:search_players*")
|
||||
invalidate_cache(f"api:get_one_player*{player_id}*")
|
||||
# Invalidate team roster cache (use wildcard since team may have changed)
|
||||
invalidate_cache("api:get_team_roster*")
|
||||
|
||||
return r_player
|
||||
else:
|
||||
@ -329,6 +333,8 @@ async def post_players(p_list: PlayerList, token: str = Depends(oauth2_scheme)):
|
||||
invalidate_cache("api:get_players*")
|
||||
invalidate_cache("api:search_players*")
|
||||
invalidate_cache("api:get_one_player*")
|
||||
# Invalidate team roster cache (new players added to teams)
|
||||
invalidate_cache("api:get_team_roster*")
|
||||
|
||||
return f'Inserted {len(new_players)} players'
|
||||
|
||||
@ -353,6 +359,8 @@ async def delete_player(player_id: int, token: str = Depends(oauth2_scheme)):
|
||||
invalidate_cache("api:get_players*")
|
||||
invalidate_cache("api:search_players*")
|
||||
invalidate_cache(f"api:get_one_player*{player_id}*")
|
||||
# Invalidate team roster cache (player removed from team)
|
||||
invalidate_cache("api:get_team_roster*")
|
||||
|
||||
return f'Player {player_id} has been deleted'
|
||||
else:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user