From b21d991fdbfee8ab219e0e74681f910596f6f2de Mon Sep 17 00:00:00 2001 From: twwu Date: Fri, 8 Aug 2025 14:26:38 +0800 Subject: [PATCH] feat(rag): pass credentialId to online document preview and wire to data source store --- .../create-from-pipeline/preview/online-document-preview.tsx | 5 ++++- web/models/pipeline.ts | 1 + web/service/use-pipeline.ts | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/web/app/components/datasets/documents/create-from-pipeline/preview/online-document-preview.tsx b/web/app/components/datasets/documents/create-from-pipeline/preview/online-document-preview.tsx index 34cc16c4b7..a441e57a10 100644 --- a/web/app/components/datasets/documents/create-from-pipeline/preview/online-document-preview.tsx +++ b/web/app/components/datasets/documents/create-from-pipeline/preview/online-document-preview.tsx @@ -10,6 +10,7 @@ import { useDatasetDetailContextWithSelector } from '@/context/dataset-detail' import { usePreviewOnlineDocument } from '@/service/use-pipeline' import Toast from '@/app/components/base/toast' import { Markdown } from '@/app/components/base/markdown' +import { useDataSourceStore } from '../data-source/store' type OnlineDocumentPreviewProps = { currentPage: NotionPage @@ -26,14 +27,17 @@ const OnlineDocumentPreview = ({ const [content, setContent] = useState('') const pipelineId = useDatasetDetailContextWithSelector(state => state.dataset?.pipeline_id) const { mutateAsync: getOnlineDocumentContent, isPending } = usePreviewOnlineDocument() + const dataSourceStore = useDataSourceStore() useEffect(() => { + const { currentCredentialId } = dataSourceStore.getState() getOnlineDocumentContent({ workspaceID: currentPage.workspace_id, pageID: currentPage.page_id, pageType: currentPage.type, pipelineId: pipelineId || '', datasourceNodeId, + credentialId: currentCredentialId, }, { onSuccess(data) { setContent(data.content) @@ -45,7 +49,6 @@ const OnlineDocumentPreview = ({ }) }, }) - // eslint-disable-next-line react-hooks/exhaustive-deps }, [currentPage.page_id]) return ( diff --git a/web/models/pipeline.ts b/web/models/pipeline.ts index 54eacd30a8..853c3cc13a 100644 --- a/web/models/pipeline.ts +++ b/web/models/pipeline.ts @@ -262,6 +262,7 @@ export type OnlineDocumentPreviewRequest = { pageType: string pipelineId: string datasourceNodeId: string + credentialId: string } export type OnlineDocumentPreviewResponse = { diff --git a/web/service/use-pipeline.ts b/web/service/use-pipeline.ts index 977db151f1..2b46af9226 100644 --- a/web/service/use-pipeline.ts +++ b/web/service/use-pipeline.ts @@ -340,12 +340,13 @@ export const usePreviewOnlineDocument = () => { return useMutation({ mutationKey: [NAME_SPACE, 'preview-online-document'], mutationFn: (params: OnlineDocumentPreviewRequest) => { - const { pipelineId, datasourceNodeId, workspaceID, pageID, pageType } = params + const { pipelineId, datasourceNodeId, workspaceID, pageID, pageType, credentialId } = params return post( `/rag/pipelines/${pipelineId}/workflows/published/datasource/nodes/${datasourceNodeId}/preview`, { body: { datasource_type: DatasourceType.onlineDocument, + credential_id: credentialId, inputs: { workspace_id: workspaceID, page_id: pageID,