From 9034752d3051b1331bd2cd5560df49a02b911f12 Mon Sep 17 00:00:00 2001 From: Joel Date: Thu, 6 Mar 2025 14:54:52 +0800 Subject: [PATCH] fix: built in status not sync --- .../datasets/metadata/hooks/use-edit-dataset-metadata.ts | 4 ++-- .../datasets/metadata/hooks/use-metadata-document.ts | 6 ++++-- web/service/knowledge/use-metadata.ts | 6 ++++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/web/app/components/datasets/metadata/hooks/use-edit-dataset-metadata.ts b/web/app/components/datasets/metadata/hooks/use-edit-dataset-metadata.ts index cd587c798d..ab650aa9d0 100644 --- a/web/app/components/datasets/metadata/hooks/use-edit-dataset-metadata.ts +++ b/web/app/components/datasets/metadata/hooks/use-edit-dataset-metadata.ts @@ -63,7 +63,7 @@ const useEditDatasetMetadata = ({ }, [doDeleteMetaData]) const [builtInEnabled, setBuiltInEnabled] = useState(datasetMetaData?.built_in_field_enabled) - const { mutate } = useUpdateBuiltInStatus(datasetId) + const { mutateAsync: toggleBuiltInStatus } = useUpdateBuiltInStatus(datasetId) const { data: builtInMetaData } = useBuiltInMetaDataFields() return { isShowEditModal, @@ -76,7 +76,7 @@ const useEditDatasetMetadata = ({ builtInMetaData: builtInMetaData?.fields, builtInEnabled, setBuiltInEnabled: async (enable: boolean) => { - await mutate(enable) + await toggleBuiltInStatus(enable) setBuiltInEnabled(enable) Toast.notify({ message: t('common.actionMsg.modifiedSuccessfully'), diff --git a/web/app/components/datasets/metadata/hooks/use-metadata-document.ts b/web/app/components/datasets/metadata/hooks/use-metadata-document.ts index 366e3db359..608294eeed 100644 --- a/web/app/components/datasets/metadata/hooks/use-metadata-document.ts +++ b/web/app/components/datasets/metadata/hooks/use-metadata-document.ts @@ -1,4 +1,4 @@ -import { useBatchUpdateDocMetadata, useDocumentMetaData } from '@/service/knowledge/use-metadata' +import { useBatchUpdateDocMetadata, useDatasetMetaData, useDocumentMetaData } from '@/service/knowledge/use-metadata' import type { BuiltInMetadataItem } from '../types' import { DataType, type MetadataItemWithValue } from '../types' import { useCallback, useState } from 'react' @@ -88,7 +88,9 @@ const useMetadataDocument = ({ setIsEdit(true) } - const builtInEnabled = true + // built in enabled is set in dataset + const { data: datasetMetaData } = useDatasetMetaData(datasetId) + const builtInEnabled = datasetMetaData?.built_in_field_enabled // old metadata and technical params const metadataMap = useMetadataMap() diff --git a/web/service/knowledge/use-metadata.ts b/web/service/knowledge/use-metadata.ts index 2cc4e3e0a8..72abe7b8e6 100644 --- a/web/service/knowledge/use-metadata.ts +++ b/web/service/knowledge/use-metadata.ts @@ -102,9 +102,11 @@ export const useBatchUpdateDocMetadata = () => { } export const useUpdateBuiltInStatus = (datasetId: string) => { + const invalidDatasetMetaData = useInvalidDatasetMetaData(datasetId) return useMutation({ - mutationFn: (enabled: boolean) => { - return post(`/datasets/${datasetId}/metadata/built-in/${enabled ? 'enable' : 'disable'}`) + mutationFn: async (enabled: boolean) => { + await post(`/datasets/${datasetId}/metadata/built-in/${enabled ? 'enable' : 'disable'}`) + invalidDatasetMetaData() }, }) }