def edit_user(user_id): reg_info = g.json_data u1 = User.get_by_status_or_404(user_id) # 密码不通过这种方式修改,删除提交的密码信息 user_dict = del_keys(reg_info, ['password', 'roles', 'avatar_img']) u1.update(**user_dict) return HttpHelper.json_response(ResultHelper.success(u1))
def get_user_roles(user_id): """ 获取用户信息 :return: json """ u = User.get_by_status_or_404(user_id) usr_dict = u.as_dict() usr_dict['roles'] = [role.as_dict() for role in u.roles] logger.debug(jsonpickle.encode(usr_dict, unpicklable=False)) return HttpHelper.normal_handler(usr_dict)
def change_password(user_id): usr = User.get_by_status_or_404(user_id) password = g.json_data.get('password', None) if not password: raise APIException(ResultEnum.USER_OR_PASS_EMPTY_ERROR) usr.password = generate_password_hash(password) try: usr.update() return HttpHelper.normal_handler(usr) except Exception as e: logger.error(e) return HttpHelper.error_handler(ResultEnum.UNKNOWN_ERROR)
def bind_user_roles(user_id): json_data = g.json_data if user_id != json_data.get('user_id'): raise APIException(ResultEnum.USER_INVALID_ID) role_ids = json_data.get('roles') if not role_ids: raise APIException(ResultEnum.INVALID_PARAMETER) try: user = User.get_by_status_or_404(user_id) user.refresh_roles(role_ids) return HttpHelper.normal_handler() except Exception as e: logger.error(e) return HttpHelper.error_handler(ResultEnum.UNKNOWN_ERROR)
def disable_user(user_id): usr = User.get_by_status_or_404(user_id) usr.toggle_disable() return HttpHelper.normal_handler()
def delete_user(user_id): usr = User.get_by_status_or_404(user_id) usr.delete() return HttpHelper.normal_handler()