feat: add hand detail API and enrich hand summary fields
- HandSummary: add hole_cards, starting_stacks, ending_stacks, pot_contributions - Engine: capture all players' hole cards (not just showdown), pre/post hand stacks, per-level pot contributions - Server: new GET /game/<game_id>/hands/<hand_number> route - Service: add get_hand_state() method - Tests: add ServerTests for new endpoint, update existing tests - Existing GET /game/<game_id> auto-inherits new fields via shared to_dict()
This commit is contained in:
@@ -28,6 +28,14 @@ class PokerRequestHandler(BaseHTTPRequestHandler):
|
||||
if len(path) == 2 and path[0] in {"game", "games"}:
|
||||
self._json(MANAGER.get_game_state(path[1]))
|
||||
return
|
||||
if len(path) == 4 and path[0] in {"game", "games"} and path[2] == "hands":
|
||||
try:
|
||||
hand_number = int(path[3])
|
||||
except ValueError:
|
||||
self._json({"error": "not found"}, HTTPStatus.NOT_FOUND)
|
||||
return
|
||||
self._json(MANAGER.get_hand_state(path[1], hand_number))
|
||||
return
|
||||
self._json({"error": "not found"}, HTTPStatus.NOT_FOUND)
|
||||
except KeyError as exc:
|
||||
self._json({"error": str(exc)}, HTTPStatus.NOT_FOUND)
|
||||
|
||||
Reference in New Issue
Block a user