From d92e927685a88ee388415d48a54f82b8d092c1d5 Mon Sep 17 00:00:00 2001 From: Jin Hai Date: Thu, 15 Aug 2024 19:25:51 +0800 Subject: [PATCH] Refactor user register (#1962) ### What problem does this PR solve? Refactor code, improve performance ### Type of change - [x] Refactoring Signed-off-by: Jin Hai --- api/apps/user_app.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/api/apps/user_app.py b/api/apps/user_app.py index 04f425db3..440ecddf0 100644 --- a/api/apps/user_app.py +++ b/api/apps/user_app.py @@ -332,16 +332,24 @@ def user_register(user_id, user): @validate_request("nickname", "email", "password") def user_add(): req = request.json - if UserService.query(email=req["email"]): - return get_json_result( - data=False, retmsg=f'Email: {req["email"]} has already registered!', retcode=RetCode.OPERATING_ERROR) - if not re.match(r"^[\w\._-]+@([\w_-]+\.)+[\w-]{2,4}$", req["email"]): - return get_json_result(data=False, retmsg=f'Invaliad e-mail: {req["email"]}!', + email_address = req["email"] + + # Validate the email address + if not re.match(r"^[\w\._-]+@([\w_-]+\.)+[\w-]{2,4}$", email_address): + return get_json_result(data=False, + retmsg=f'Invalid Email address: {email_address}!', retcode=RetCode.OPERATING_ERROR) + # Check if the email address is already used + if UserService.query(email=email_address): + return get_json_result( + data=False, + retmsg=f'Email: {email_address} has already registered!', + retcode=RetCode.OPERATING_ERROR) + user_dict = { "access_token": get_uuid(), - "email": req["email"], + "email": email_address, "nickname": req["nickname"], "password": decrypt(req["password"]), "login_channel": "password",