jinhai-2012 commited on
Commit
367f6bc
·
1 Parent(s): 36b9967

Refactor user registration (#1970)

Browse files

### What problem does this PR solve?

1. Refactor error message
2. Update function name

### Type of change

- [x] Refactoring

Signed-off-by: Jin Hai <[email protected]>

Files changed (2) hide show
  1. api/apps/user_app.py +13 -9
  2. api/utils/api_utils.py +1 -1
api/apps/user_app.py CHANGED
@@ -32,7 +32,7 @@ from api.settings import RetCode, GITHUB_OAUTH, FEISHU_OAUTH, CHAT_MDL, EMBEDDIN
32
  from api.db.services.user_service import UserService, TenantService, UserTenantService
33
  from api.db.services.file_service import FileService
34
  from api.settings import stat_logger
35
- from api.utils.api_utils import get_json_result, cors_reponse
36
 
37
 
38
  @manager.route('/login', methods=['POST', 'GET'])
@@ -64,7 +64,7 @@ def login():
64
  user.update_date = datetime_format(datetime.now()),
65
  user.save()
66
  msg = "Welcome back!"
67
- return cors_reponse(data=response_data, auth=user.get_id(), retmsg=msg)
68
  else:
69
  return get_json_result(data=False, retcode=RetCode.AUTHENTICATION_ERROR,
70
  retmsg='Email and Password do not match!')
@@ -347,10 +347,12 @@ def user_add():
347
  retmsg=f'Email: {email_address} has already registered!',
348
  retcode=RetCode.OPERATING_ERROR)
349
 
 
 
350
  user_dict = {
351
  "access_token": get_uuid(),
352
  "email": email_address,
353
- "nickname": req["nickname"],
354
  "password": decrypt(req["password"]),
355
  "login_channel": "password",
356
  "last_login_time": get_format_time(),
@@ -361,18 +363,20 @@ def user_add():
361
  try:
362
  users = user_register(user_id, user_dict)
363
  if not users:
364
- raise Exception('Register user failure.')
365
  if len(users) > 1:
366
- raise Exception('Same E-mail exist!')
367
  user = users[0]
368
  login_user(user)
369
- return cors_reponse(data=user.to_json(),
370
- auth=user.get_id(), retmsg="Welcome aboard!")
 
371
  except Exception as e:
372
  rollback_user_registration(user_id)
373
  stat_logger.exception(e)
374
- return get_json_result(
375
- data=False, retmsg='User registration failure!', retcode=RetCode.EXCEPTION_ERROR)
 
376
 
377
 
378
  @manager.route("/tenant_info", methods=["GET"])
 
32
  from api.db.services.user_service import UserService, TenantService, UserTenantService
33
  from api.db.services.file_service import FileService
34
  from api.settings import stat_logger
35
+ from api.utils.api_utils import get_json_result, construct_response
36
 
37
 
38
  @manager.route('/login', methods=['POST', 'GET'])
 
64
  user.update_date = datetime_format(datetime.now()),
65
  user.save()
66
  msg = "Welcome back!"
67
+ return construct_response(data=response_data, auth=user.get_id(), retmsg=msg)
68
  else:
69
  return get_json_result(data=False, retcode=RetCode.AUTHENTICATION_ERROR,
70
  retmsg='Email and Password do not match!')
 
347
  retmsg=f'Email: {email_address} has already registered!',
348
  retcode=RetCode.OPERATING_ERROR)
349
 
350
+ # Construct user info data
351
+ nickname = req["nickname"]
352
  user_dict = {
353
  "access_token": get_uuid(),
354
  "email": email_address,
355
+ "nickname": nickname,
356
  "password": decrypt(req["password"]),
357
  "login_channel": "password",
358
  "last_login_time": get_format_time(),
 
363
  try:
364
  users = user_register(user_id, user_dict)
365
  if not users:
366
+ raise Exception(f'Fail to register {email_address}.')
367
  if len(users) > 1:
368
+ raise Exception(f'Same E-mail: {email_address} exists!')
369
  user = users[0]
370
  login_user(user)
371
+ return construct_response(data=user.to_json(),
372
+ auth=user.get_id(),
373
+ retmsg=f"{nickname}, welcome aboard!")
374
  except Exception as e:
375
  rollback_user_registration(user_id)
376
  stat_logger.exception(e)
377
+ return get_json_result(data=False,
378
+ retmsg=f'User registration failure, error: {str(e)}',
379
+ retcode=RetCode.EXCEPTION_ERROR)
380
 
381
 
382
  @manager.route("/tenant_info", methods=["GET"])
api/utils/api_utils.py CHANGED
@@ -216,7 +216,7 @@ def get_json_result(retcode=RetCode.SUCCESS, retmsg='success', data=None):
216
  return jsonify(response)
217
 
218
 
219
- def cors_reponse(retcode=RetCode.SUCCESS,
220
  retmsg='success', data=None, auth=None):
221
  result_dict = {"retcode": retcode, "retmsg": retmsg, "data": data}
222
  response_dict = {}
 
216
  return jsonify(response)
217
 
218
 
219
+ def construct_response(retcode=RetCode.SUCCESS,
220
  retmsg='success', data=None, auth=None):
221
  result_dict = {"retcode": retcode, "retmsg": retmsg, "data": data}
222
  response_dict = {}