Update team invite message (#4085)

### What problem does this PR solve?

Refactor inviting team member message.

### Type of change

- [x] Refactoring

Signed-off-by: jinhai <haijin.chn@gmail.com>
This commit is contained in:
Jin Hai 2024-12-18 14:20:09 +08:00 committed by GitHub
parent 742eef028f
commit 85f3d92816
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -55,28 +55,30 @@ def create(tenant_id):
code=settings.RetCode.AUTHENTICATION_ERROR)
req = request.json
usrs = UserService.query(email=req["email"])
if not usrs:
invite_user_email = req["email"]
invite_users = UserService.query(email=invite_user_email)
if not invite_users:
return get_data_error_result(message="User not found.")
user_id = usrs[0].id
user_tenants = UserTenantService.query(user_id=user_id, tenant_id=tenant_id)
user_id_to_invite = invite_users[0].id
user_tenants = UserTenantService.query(user_id=user_id_to_invite, tenant_id=tenant_id)
if user_tenants:
if user_tenants[0].role == UserTenantRole.NORMAL:
return get_data_error_result(message="This user is in the team already.")
if user_tenants[0].role == UserTenantRole.OWNER:
return get_data_error_result(message="This user is the owner of the team.")
return get_data_error_result(message="Invitation notification is sent.")
user_tenant_role = user_tenants[0].role
if user_tenant_role == UserTenantRole.NORMAL:
return get_data_error_result(message=f"{invite_user_email} is already in the team.")
if user_tenant_role == UserTenantRole.OWNER:
return get_data_error_result(message=f"{invite_user_email} is the owner of the team.")
return get_data_error_result(message=f"{invite_user_email} is in the team, but the role: {user_tenant_role} is invalid.")
UserTenantService.save(
id=get_uuid(),
user_id=user_id,
user_id=user_id_to_invite,
tenant_id=tenant_id,
invited_by=current_user.id,
role=UserTenantRole.INVITE,
status=StatusEnum.VALID.value)
usr = usrs[0].to_dict()
usr = invite_users[0].to_dict()
usr = {k: v for k, v in usr.items() if k in ["id", "avatar", "email", "nickname"]}
return get_json_result(data=usr)