diff options
Diffstat (limited to 'api')
-rw-r--r-- | api/api.ts | 2 | ||||
-rw-r--r-- | api/user/games.py | 7 |
2 files changed, 5 insertions, 4 deletions
@@ -50,7 +50,7 @@ export interface gameInfo { duration: number; id: string; moves: Array<number>; - opponent: userInfo; + opponent?: userInfo; outcome: outcome; parent?: string; private: boolean; diff --git a/api/user/games.py b/api/user/games.py index 009e5ee..1cd19f2 100644 --- a/api/user/games.py +++ b/api/user/games.py @@ -30,12 +30,13 @@ def game_info(game_id, user_id = None): "private", # 13 ]) + " from games where game_id = ?", [game_id]).fetchone() is_player_1 = game[4] != user_id + opponent = game[4] if is_player_1 else game[3] return { "id": game[0], "parent": game[1], - "moves": [int(move) for move in str(game[2]).split(",")], - "opponent": format_user(game[4] if is_player_1 else game[3]), - "outcome": outcome(game[5], is_player_1), + "moves": [] if len(game[2]) == 0 else [int(move) for move in str(game[2] + "0").split(",")], + "opponent": None if not opponent else format_user(opponent), + "outcome": None if not game[5] else outcome(game[5], is_player_1), "created": game[6], "started": game[7], "duration": game[8], |