Exemplo n.º 1
0
def players_get(game_id, player_id):
    get_game_or_abort(game_id)
    player = Player.query.get(player_id)
    if not player:
        abort(404, 'Player not found')
    response = jsonate(player.to_dict())
    return response
Exemplo n.º 2
0
def players_delete(game_id, player_id):
    get_game_or_abort(game_id)
    player = Player.query.get(player_id)
    if not player:
        abort(404, 'Player not found')
    db.session.delete(player)
    db.session.commit()
    return Response(status=200)
Exemplo n.º 3
0
def games_stop(game_id):
    game = get_game_or_abort(game_id)
    if game.ended_at:
        abort(403, 'That game has already been stopped')

    game.ended_at = datetime.datetime.utcnow()
    db.session.commit()
    return Response(status=200)
Exemplo n.º 4
0
def territories(game_id, territory):
    game = get_game_or_abort(game_id)
    if game.ended_at is not None:
        abort(403, 'That game is over')

    player_id = request.json.get('playerId', None)
    if not player_id:
        abort(403, 'Must supply playerId')

    player = Player.query.get(player_id)
    if not player:
        abort(403, 'Player not found')

    points = 1 + player.device.bonus
    Points.score(game.id, territory, points)

    return Response(status=200)
Exemplo n.º 5
0
def players_create(game_id):
    game = get_game_or_abort(game_id)

    if game.ended_at is not None:
        abort(403, 'Cannot join a player to a finished game')

    device_id = request.json.get('deviceId', None)
    if not device_id:
        abort(403, 'Must supply deviceId')

    device = Device.query.get(device_id)
    if not device:
        abort(403, 'Device %s not found' % device_id)

    clan = request.json.get('clan', random.choice(config['clans']))
    territory = request.json.get('territory', None)

    player = Player.create(game.id, device.id, clan, territory)

    response = jsonate(player.to_dict())
    response.status_code = 201
    response.headers['Location'] = url_for(
            'players_get', game_id=game.id, player_id=player.id)
    return response
Exemplo n.º 6
0
def players_index(game_id):
    get_game_or_abort(game_id)
    response = jsonate([p.to_dict() for p in Player.query.all()])
    return response
Exemplo n.º 7
0
def games_get(game_id):
    game = get_game_or_abort(game_id)
    return jsonate(game.to_dict())