From 077f44ff581b98a65dd024310130eb7b8e1e409e Mon Sep 17 00:00:00 2001 From: JzoNg Date: Mon, 14 Jul 2025 15:15:07 +0800 Subject: [PATCH] add apis --- .../header/account-setting/members-page/index.tsx | 5 ++++- web/service/common.ts | 9 +++++++++ web/types/feature.ts | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/web/app/components/header/account-setting/members-page/index.tsx b/web/app/components/header/account-setting/members-page/index.tsx index fb5bbbd8ad..a878582bd4 100644 --- a/web/app/components/header/account-setting/members-page/index.tsx +++ b/web/app/components/header/account-setting/members-page/index.tsx @@ -136,9 +136,12 @@ const MembersPage = () => {
{dayjs(Number((account.last_active_at || account.created_at)) * 1000).locale(locale === 'zh-Hans' ? 'zh-cn' : 'en').fromNow()}
- {isCurrentWorkspaceOwner && account.role === 'owner' && ( + {isCurrentWorkspaceOwner && account.role === 'owner' && !systemFeatures.is_allow_transfer_workspace && ( setShowTransferOwnershipModal(true)}> )} + {/* {isCurrentWorkspaceOwner && account.role === 'owner' && !systemFeatures.is_allow_transfer_workspace && ( +
{RoleMap[account.role] || RoleMap.normal}
+ )} */} {isCurrentWorkspaceOwner && account.role !== 'owner' && ( )} diff --git a/web/service/common.ts b/web/service/common.ts index 700cd4bf51..01b9d51e84 100644 --- a/web/service/common.ts +++ b/web/service/common.ts @@ -131,6 +131,15 @@ export const deleteMemberOrCancelInvitation: Fetcher(url) } +export const sendOwnerEmail = (memberID: string, body: { language?: string }) => + post(`/workspaces/current/members/${memberID}/send-owner-transfer-confirm-email`, { body }) + +export const verifyOwnerEmail = (body: { code: string; token: string }) => + post('/workspaces/current/members/owner-transfer-check', { body }) + +export const ownershipTransfer = (memberID: string, body: { token: string }) => + post(`/workspaces/current/members/${memberID}/owner-transfer`, { body }) + export const fetchFilePreview: Fetcher<{ content: string }, { fileID: string }> = ({ fileID }) => { return get<{ content: string }>(`/files/${fileID}/preview`) } diff --git a/web/types/feature.ts b/web/types/feature.ts index 5787c2661f..9a6598cada 100644 --- a/web/types/feature.ts +++ b/web/types/feature.ts @@ -39,6 +39,7 @@ export type SystemFeatures = { enable_email_password_login: boolean enable_social_oauth_login: boolean is_allow_create_workspace: boolean + is_allow_transfer_workspace: boolean is_allow_register: boolean is_email_setup: boolean license: License @@ -74,6 +75,7 @@ export const defaultSystemFeatures: SystemFeatures = { enable_email_password_login: false, enable_social_oauth_login: false, is_allow_create_workspace: false, + is_allow_transfer_workspace: false, is_allow_register: false, is_email_setup: false, license: {