def post(self): '''Create a new game.''' players = api.payload["players"] columns = api.payload["columns"] rows = api.payload["rows"] if (len(players) <= 1 or len(players) > 2 or (columns != 4) or (rows != 4) or players[0] == players[1]): return {"message": "Malformed request"}, 400 player_one = players[0] player_two = players[1] player_one = Player.query.get(player_one) if player_one == None: player_one = Player() player_one.id = players[0] player_one.symbol = "X" db.session.add(player_one) db.session.commit() player_two = Player.query.get(player_two) if player_two == None: player_two = Player() player_two.id = players[1] player_two.symbol = "O" db.session.add(player_two) db.session.commit() game = Game() game.playerOneId = player_one.id game.playerTwoId = player_two.id game.status = "IN_PROGRESS" #TODO consider creating a const or an enum for the game status board = Board() game.board = board.layout db.session.add(game) db.session.commit() token = create_access_token(identity=game.id) return {"gameId": token}