refactor(rest-api):角色与用户数据

This commit is contained in:
zhengxinonly
2021-07-26 19:55:59 +08:00
parent ab4bb1ca40
commit a35d443fb6
10 changed files with 359 additions and 303 deletions
+47 -17
View File
@@ -10,45 +10,74 @@ from applications.models import User
from . import users_api
@users_api.resource('/avatar')
class Avatar(Resource):
@users_api.resource('/user/<int:user_id>/status')
class UserStatus(Resource):
def put(self, user_id):
# 启用或者禁用用户 enable disable
parser = reqparse.RequestParser()
parser.add_argument('userId', type=int, required=True, dest='user_id')
parser.add_argument('operate', type=int, required=True, dest='operate', choices=[0, 1])
res = parser.parse_args()
if res.operate == 1:
user = User.query.get(user_id)
user.enable = res.operate
message = success_api(msg="启动成功")
else:
user = User.query.filter_by(id=res.user_id).update({"enable": res.operate})
message = success_api(msg="禁用成功")
if user:
db.session.commit()
else:
return fail_api(msg="出错啦")
return message
@users_api.resource('/user/<int:user_id>/avatar')
class UserAvatar(Resource):
"""修改头像"""
def put(self):
def put(self, user_id):
url = request.json.get("avatar").get("src")
ret = User.query.filter_by(id=current_user.id).update({"avatar": url})
ret = User.query.get(user_id)
ret.avatar = url
db.session.commit()
if not ret:
return fail_api(msg="出错啦")
return success_api(msg="修改成功")
@users_api.resource('/updateInfo')
class ProfileInfo(Resource):
@users_api.resource('/user/<int:user_id>/info')
class UserInfo(Resource):
@login_required
def put(self):
def put(self, user_id):
parser = reqparse.RequestParser()
parser.add_argument('realname', type=str, dest='real_name')
parser.add_argument('realName', type=str, dest='real_name')
parser.add_argument('username', type=str)
parser.add_argument('remark', type=str)
parser.add_argument('details', type=str)
res = parser.parse_args()
ret = User.query.filter_by(
id=current_user.id).update({"realname": res.real_name,
"remark": res.details})
ret = User.query.get(user_id)
ret.username = res.username
ret.realname = res.real_name
ret.remark = res.details
db.session.commit()
if not ret:
return fail_api(msg="出错啦")
return success_api(msg="更新成功")
@users_api.resource('/editPassword')
class EditPassword(Resource):
@users_api.resource('/user/<int:user_id>/password')
class UserPassword(Resource):
"""前用户密码"""
@login_required
def put(self):
def put(self, user_id):
parser = reqparse.RequestParser()
parser.add_argument('oldPassword', type=str, required=True, help='旧密码不得为空')
parser.add_argument('newPassword', type=str, required=True, help='新密码不得为空')
@@ -60,11 +89,12 @@ class EditPassword(Resource):
return fail_api(msg='确认密码不一致')
""" 修改当前用户密码 """
is_right = current_user.validate_password(res.oldPassword)
user = User.query.get(user_id)
is_right = user.validate_password(res.oldPassword)
if not is_right:
return jsonify(success=False, msg="旧密码错误")
current_user.set_password(res.newPassword)
db.session.add(current_user)
user.set_password(res.newPassword)
db.session.add(user)
db.session.commit()
return jsonify(success=True, msg="更改成功")