diff --git a/web/src/hooks/use-knowledge-request.ts b/web/src/hooks/use-knowledge-request.ts index 3251afe79..8807cd5d9 100644 --- a/web/src/hooks/use-knowledge-request.ts +++ b/web/src/hooks/use-knowledge-request.ts @@ -9,6 +9,7 @@ import { import { ITestRetrievalRequestBody } from '@/interfaces/request/knowledge'; import i18n from '@/locales/config'; import kbService, { + deleteKnowledgeGraph, getKnowledgeGraph, listDataset, } from '@/services/knowledge-service'; @@ -30,6 +31,7 @@ export const enum KnowledgeApiAction { FetchKnowledgeDetail = 'fetchKnowledgeDetail', FetchKnowledgeGraph = 'fetchKnowledgeGraph', FetchMetadata = 'fetchMetadata', + RemoveKnowledgeGraph = 'removeKnowledgeGraph', } export const useKnowledgeBaseId = (): string => { @@ -296,3 +298,28 @@ export function useFetchKnowledgeMetadata(kbIds: string[] = []) { return { data, loading }; } + +export const useRemoveKnowledgeGraph = () => { + const knowledgeBaseId = useKnowledgeBaseId(); + + const queryClient = useQueryClient(); + const { + data, + isPending: loading, + mutateAsync, + } = useMutation({ + mutationKey: [KnowledgeApiAction.RemoveKnowledgeGraph], + mutationFn: async () => { + const { data } = await deleteKnowledgeGraph(knowledgeBaseId); + if (data.code === 0) { + message.success(i18n.t(`message.deleted`)); + queryClient.invalidateQueries({ + queryKey: ['fetchKnowledgeGraph'], + }); + } + return data?.code; + }, + }); + + return { data, loading, removeKnowledgeGraph: mutateAsync }; +}; diff --git a/web/src/pages/add-knowledge/components/knowledge-graph/index.tsx b/web/src/pages/add-knowledge/components/knowledge-graph/index.tsx index 1c33438e5..4862ab095 100644 --- a/web/src/pages/add-knowledge/components/knowledge-graph/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-graph/index.tsx @@ -1,6 +1,6 @@ import { ConfirmDeleteDialog } from '@/components/confirm-delete-dialog'; import { Button } from '@/components/ui/button'; -import { useFetchKnowledgeGraph } from '@/hooks/knowledge-hooks'; +import { useFetchKnowledgeGraph } from '@/hooks/use-knowledge-request'; import { Trash2 } from 'lucide-react'; import React from 'react'; import { useTranslation } from 'react-i18next'; diff --git a/web/src/pages/add-knowledge/components/knowledge-graph/use-delete-graph.ts b/web/src/pages/add-knowledge/components/knowledge-graph/use-delete-graph.ts index 49c42986f..afb5807ea 100644 --- a/web/src/pages/add-knowledge/components/knowledge-graph/use-delete-graph.ts +++ b/web/src/pages/add-knowledge/components/knowledge-graph/use-delete-graph.ts @@ -1,7 +1,7 @@ import { useKnowledgeBaseId, useRemoveKnowledgeGraph, -} from '@/hooks/knowledge-hooks'; +} from '@/hooks/use-knowledge-request'; import { useCallback } from 'react'; import { useNavigate } from 'umi';