guarantee-admin-api-v0.2/Modules/AdminUser/UserRoutes.py

77 lines
2.0 KiB
Python
Raw Normal View History

2022-05-24 02:25:59 +08:00
from flask import Blueprint, request
2022-05-25 16:12:53 +08:00
from Modules.AdminUser.UserImpl import UserImpl, EmailVcodeCheckerImpl
from Modules.AdminUser.UserUtils import UserUtils
2022-05-25 16:12:53 +08:00
from Utils.ErrorUtil import AttrCheckError
2022-05-24 02:25:59 +08:00
from Modules.AdminUser.UserAuthUtils import verify_token, authority_scope
user_route = Blueprint('user', __name__)
@user_route.route('/online_check', methods=['GET'])
@verify_token
def online_check_route(**kwargs):
"""
在线检查检查token是否有效
"""
return {"info": "正常"}, 200
@user_route.route('/create', methods=['POST'])
2022-05-26 14:35:09 +08:00
# @verify_token
# @authority_scope(['admin'])
2022-05-24 02:25:59 +08:00
def create_user_route(**kwargs):
"""新建用户"""
try:
req = request.json
2022-05-25 14:41:58 +08:00
impl = UserImpl()
2022-05-24 02:25:59 +08:00
2022-05-25 14:41:58 +08:00
impl.create(
req['email'],
req['name'],
UserUtils.decrypt_data(encrypt_msg=req['pwd']),
req['role']
2022-05-24 02:25:59 +08:00
)
2022-05-25 14:41:58 +08:00
return {"info": "用户创建成功"}, 200
except AssertionError as e:
return {"info": e.__str__()}, 202
except AttrCheckError as e:
return {"info": e.__str__()}, 202
2022-05-24 02:25:59 +08:00
@user_route.route('/login', methods=['POST'])
def login_route():
"""登录"""
try:
req = request.json
2022-05-25 15:45:31 +08:00
impl = UserImpl()
result = impl.login(
req['email'],
req['pwd'],
req['vcode']
)
2022-05-24 02:25:59 +08:00
return {"info": "登录成功", "result": result}, 200
2022-05-25 15:45:31 +08:00
except AssertionError as e:
return {"info": e.__str__()}, 202
except AttrCheckError as e:
return {"info": e.__str__()}, 202
2022-05-24 02:25:59 +08:00
@user_route.route('/send_vcode', methods=['POST'])
def send_vcode_to_user_route():
"""发送验证码"""
try:
req = request.json
2022-05-25 15:45:31 +08:00
obj = EmailVcodeCheckerImpl()
2022-05-24 02:25:59 +08:00
obj.email = req['email']
obj.send_vcode_email()
return {"info": "发送成功"}, 200
2022-05-25 15:46:04 +08:00
except AssertionError as e:
return {"info": e.__str__()}, 202
except AttrCheckError as e:
return {"info": e.__str__()}, 202