コード例 #1
0
ファイル: run.py プロジェクト: MeiK2333/Blokus
def user(user_id):
    if current_user.user_id == -1 or current_user.user_id != user_id:
        return failure("perission denied")
    request_json = request.get_json(force=True)

    if not current_user.check_password(request_json['old_password']):
        return failure("原密码错误")

    legal_field = ['username', 'password']
    for key in list(request_json):
        if key not in legal_field:
            request_json.pop(key)

    for key in request_json:
        current_user.update(key, request_json[key])

    return success(current_user.dump())
コード例 #2
0
ファイル: run.py プロジェクト: MeiK2333/Blokus
def login():
    if request.method == 'POST':
        request_json = request.get_json(force=True)
        user = User.load_from_email(db, request_json['email'])

        if user is None:
            return failure("user not exist")
        if not user.check_password(request_json['password']):
            return failure("password not correct")

        login_user(user)

        return success(user.dump())

    elif request.method == 'DELETE':
        logout_user()

        return success(current_user.dump())
コード例 #3
0
ファイル: run.py プロジェクト: MeiK2333/Blokus
def players(battle_id, player_id):
    if current_user.user_id == -1:
        return failure("need login first!")

    battle = BattleFactory.load_battle(battle_id, db)
    if isinstance(battle, str):
        return failure(battle)

    if request.method == 'POST':
        result = battle.try_join_player(current_time(), player_id,
                                        current_user.user_id,
                                        current_user.dump())
        if (isinstance(result, str)):
            return failure(result)

        return success(result)

    elif request.method == 'DELETE':
        result = battle.try_remove_player(current_time(), player_id,
                                          current_user.user_id)
        if (isinstance(result, str)):
            return failure(result)

        return success(result)