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())
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())
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)