From 9f21add7b5fbde52d22c6ec0c3a44704a7a0dfe3 Mon Sep 17 00:00:00 2001 From: Finley Ge <32237950+FinleyGe@users.noreply.github.com> Date: Wed, 30 Apr 2025 12:07:53 +0800 Subject: [PATCH] fix: app/dataset list folders' side menu permission bug (#4734) --- .../app/src/pages/dashboard/apps/index.tsx | 52 ++++--------------- projects/app/src/pages/dataset/list/index.tsx | 37 +++---------- 2 files changed, 17 insertions(+), 72 deletions(-) diff --git a/projects/app/src/pages/dashboard/apps/index.tsx b/projects/app/src/pages/dashboard/apps/index.tsx index 0e5a0d503..5eb345d12 100644 --- a/projects/app/src/pages/dashboard/apps/index.tsx +++ b/projects/app/src/pages/dashboard/apps/index.tsx @@ -25,7 +25,6 @@ import { import type { CreateAppType } from '@/pageComponents/dashboard/apps/CreateModal'; import { AppTypeEnum } from '@fastgpt/global/core/app/constants'; import MyBox from '@fastgpt/web/components/common/MyBox'; -import LightRowTabs from '@fastgpt/web/components/common/Tabs/LightRowTabs'; import { useSystem } from '@fastgpt/web/hooks/useSystem'; import MyIcon from '@fastgpt/web/components/common/Icon'; import JsonImportModal from '@/pageComponents/dashboard/apps/JsonImportModal'; @@ -35,6 +34,7 @@ import List from '@/pageComponents/dashboard/apps/List'; import MCPToolsEditModal from '@/pageComponents/dashboard/apps/MCPToolsEditModal'; import { getUtmWorkflow } from '@/web/support/marketing/utils'; import { useMount } from 'ahooks'; +import { AppCollaboratorDeleteParams } from '@fastgpt/global/core/app/collaborator'; const CreateModal = dynamic(() => import('@/pageComponents/dashboard/apps/CreateModal')); const EditFolderModal = dynamic( @@ -286,49 +286,17 @@ const MyApps = ({ MenuIcon }: { MenuIcon: JSX.Element }) => { permission: folderDetail.permission, onGetCollaboratorList: () => getCollaboratorList(folderDetail._id), permissionList: AppPermissionList, - onUpdateCollaborators: ({ - members, - groups, - permission - }: { - members?: string[]; - groups?: string[]; - permission: PermissionValueType; - }) => { - return postUpdateAppCollaborators({ - members, - groups, - permission, + onUpdateCollaborators: (props) => + postUpdateAppCollaborators({ + ...props, appId: folderDetail._id - }); - }, + }), refreshDeps: [folderDetail._id, folderDetail.inheritPermission], - onDelOneCollaborator: async ({ - tmbId, - groupId, - orgId - }: { - tmbId?: string; - groupId?: string; - orgId?: string; - }) => { - if (tmbId) { - return deleteAppCollaborators({ - appId: folderDetail._id, - tmbId - }); - } else if (groupId) { - return deleteAppCollaborators({ - appId: folderDetail._id, - groupId - }); - } else if (orgId) { - return deleteAppCollaborators({ - appId: folderDetail._id, - orgId - }); - } - } + onDelOneCollaborator: async (params) => + deleteAppCollaborators({ + ...params, + appId: folderDetail._id + }) }} /> diff --git a/projects/app/src/pages/dataset/list/index.tsx b/projects/app/src/pages/dataset/list/index.tsx index 724c23828..5d61fcf36 100644 --- a/projects/app/src/pages/dataset/list/index.tsx +++ b/projects/app/src/pages/dataset/list/index.tsx @@ -242,39 +242,16 @@ const Dataset = () => { permission: folderDetail.permission, onGetCollaboratorList: () => getCollaboratorList(folderDetail._id), permissionList: DatasetPermissionList, - onUpdateCollaborators: ({ - members, - groups, - permission - }: { - members?: string[]; - groups?: string[]; - permission: PermissionValueType; - }) => + onUpdateCollaborators: (params) => postUpdateDatasetCollaborators({ - members, - groups, - permission, + ...params, + datasetId: folderDetail._id + }), + onDelOneCollaborator: async (params) => + deleteDatasetCollaborators({ + ...params, datasetId: folderDetail._id }), - onDelOneCollaborator: async ({ tmbId, groupId, orgId }) => { - if (tmbId) { - return deleteDatasetCollaborators({ - datasetId: folderDetail._id, - tmbId - }); - } else if (groupId) { - return deleteDatasetCollaborators({ - datasetId: folderDetail._id, - groupId - }); - } else if (orgId) { - return deleteDatasetCollaborators({ - datasetId: folderDetail._id, - orgId - }); - } - }, refreshDeps: [folderDetail._id, folderDetail.inheritPermission] }} />