feat: invitation link (#3979)

* feat: invitation link schema and apis

* feat: add invitation link

* feat: member status: active, leave, forbidden

* fix: expires show hours and minutes

* feat: invalid invitation link hint

* fix: typo

* chore: fix typo & i18n

* fix

* pref: fe

* feat: add ttl index for 30-day-clean-up
This commit is contained in:
Finley Ge
2025-03-12 13:47:15 +08:00
committed by archer
parent 2c7bf2548b
commit a9e5017492
26 changed files with 719 additions and 251 deletions

View File

@@ -35,5 +35,27 @@
"user_team_invite_member": "Invite members",
"user_team_leave_team": "Leave the team",
"user_team_leave_team_failed": "Failure to leave the team",
"waiting": "To be accepted"
"waiting": "To be accepted",
"invitation_link_list": "Invitation link list",
"create_invitation_link": "Create Invitation Link",
"invitation_link_description": "Link description",
"30mins": "30 Minutes",
"7days": "7 Days",
"1year": "1 Year",
"unlimited": "Unlimited",
"1person": "1 person",
"expires": "Expiration",
"used_times_limit": "Limit",
"invited": "Invited",
"has_forbidden": "Forbidden",
"forbidden": "Forbidden",
"copy_link": "Copy link",
"handle_invitation": "Handle Invitation",
"ignore": "Ignore",
"forbid_success": "Forbid success",
"forbid_hint": "After forbidden, this invitation link will become invalid. This action is irreversible. Are you sure you want to deactivate?",
"confirm_forbidden": "Confirm forbidden",
"invitation_link_auto_clean_hint": "Expired links will be automatically cleaned up after 30 days",
"has_invited": "Invited",
"invitation_link_has_been_invalid": "The invitation link has expired. Please contact the team administrator"
}

View File

@@ -100,6 +100,9 @@
"code_error.team_error.un_auth": "Unauthorized to Operate This Team",
"code_error.team_error.user_not_active": "The user did not accept or has left the team",
"code_error.team_error.website_sync_not_enough": "The free version cannot be synchronized with the web site ~",
"code_error.team_error.invitation_link_invalid": "Invitation link is invalid",
"code_error.team_error.you_have_been_in_the_team": "You are already in this team",
"code_error.team_error.too_many_invitations": "You have reached the maximum number of active invitation links, please clean up some links first",
"code_error.token_error_code.403": "Invalid Login Status, Please Re-login",
"code_error.user_error.balance_not_enough": "Insufficient Account Balance",
"code_error.user_error.bin_visitor_guest": "You Are Currently a Guest, Unauthorized to Operate",

View File

@@ -51,5 +51,27 @@
"confirm_delete_from_org": "确认将 {{username}} 移出部门?",
"search_org": "搜索部门",
"notification_recieve": "团队通知接收",
"set_name_avatar": "团队头像 & 团队名"
"set_name_avatar": "团队头像 & 团队名",
"invitation_link_list": "链接列表",
"create_invitation_link": "创建邀请链接",
"invitation_link_description": "链接描述",
"30mins": "30分钟",
"7days": "7天",
"1year": "1年",
"unlimited": "无限制",
"1person": "1人",
"expires": "有效期",
"used_times_limit": "有效人数",
"invited": "已邀请",
"has_forbidden": "已失效",
"forbidden": "停用",
"copy_link": "复制链接",
"handle_invitation": "处理团队邀请",
"ignore": "忽略",
"forbid_success": "停用成功",
"forbid_hint": "停用后,该邀请链接将失效。 该操作不可撤销,是否确认停用?",
"confirm_forbidden": "确认停用",
"invitation_link_auto_clean_hint": "已失效链接将在30天后自动清理",
"has_invited": "已邀请",
"invitation_link_has_been_invalid": "邀请链接已失效,请联系团队管理员"
}

View File

@@ -104,6 +104,9 @@
"code_error.team_error.un_auth": "无权操作该团队",
"code_error.team_error.user_not_active": "用户未接受或已离开团队",
"code_error.team_error.website_sync_not_enough": "免费版无法使用Web站点同步~",
"code_error.team_error.invitation_link_invalid": "邀请链接无效",
"code_error.team_error.you_have_been_in_the_team": "你已经在该团队中",
"code_error.team_error.too_many_invitations": "您的有效邀请链接数已达上限,请先清理链接",
"code_error.token_error_code.403": "登录状态无效,请重新登录",
"code_error.user_error.balance_not_enough": "账号余额不足~",
"code_error.user_error.bin_visitor_guest": "您当前身份为游客,无权操作",

View File

@@ -35,5 +35,27 @@
"user_team_invite_member": "邀請成員",
"user_team_leave_team": "離開團隊",
"user_team_leave_team_failed": "離開團隊失敗",
"waiting": "待接受"
"waiting": "待接受",
"invitation_link_list": "連結列表",
"create_invitation_link": "建立邀請連結",
"invitation_link_description": "連結描述",
"30mins": "30分鐘",
"7days": "7天",
"1year": "1年",
"unlimited": "無限制",
"1person": "1人",
"expires": "有效期",
"used_times_limit": "有效人數",
"invited": "已邀請",
"has_forbidden": "已失效",
"forbidden": "停用",
"copy_link": "複製連結",
"handle_invitation": "處理團隊邀請",
"ignore": "忽略",
"forbid_success": "停用成功",
"forbid_hint": "停用後,該邀請連結將失效。 該操作不可撤銷,是否確認停用?",
"confirm_forbidden": "確認停用",
"invitation_link_auto_clean_hint": "已失效連結將在30天後自動清理",
"has_invited": "已邀請",
"invitation_link_has_been_invalid": "邀請連結已失效,請聯繫團隊管理員"
}

View File

@@ -99,6 +99,9 @@
"code_error.team_error.un_auth": "無權操作此團隊",
"code_error.team_error.user_not_active": "使用者未接受或已離開團隊",
"code_error.team_error.website_sync_not_enough": "免費版無法使用Web站點同步~",
"code_error.team_error.invitation_link_invalid": "邀請連結無效",
"code_error.team_error.you_have_been_in_the_team": "你已經在該團隊中",
"code_error.team_error.too_many_invitations": "您的有效邀請連結數已達上限,請先清理連結",
"code_error.token_error_code.403": "登入狀態無效,請重新登入",
"code_error.user_error.balance_not_enough": "帳戶餘額不足",
"code_error.user_error.bin_visitor_guest": "您目前身份為訪客,無權操作",