feat: add credential_id handling in CreateFormPipeline and OnlineDrive components

This commit is contained in:
twwu
2025-08-08 14:48:58 +08:00
parent b21d991fdb
commit ac7953a32c
2 changed files with 28 additions and 5 deletions

View File

@@ -28,6 +28,7 @@ const OnlineDrive = ({
isInPipeline = false,
onCredentialChange,
}: OnlineDriveProps) => {
const [isInitialMount, setIsInitialMount] = useState(true)
const pipelineId = useDatasetDetailContextWithSelector(s => s.dataset?.pipeline_id)
const setShowAccountSettingModal = useModalContextSelector(s => s.setShowAccountSettingModal)
const {
@@ -97,7 +98,15 @@ const OnlineDrive = ({
}, [datasourceNodeRunURL, dataSourceStore])
useEffect(() => {
getOnlineDriveFiles()
if (isInitialMount) {
// Only fetch files on initial mount if fileList is empty
if (fileList.length === 0)
getOnlineDriveFiles()
setIsInitialMount(false)
}
else {
getOnlineDriveFiles()
}
}, [startAfter, prefix, bucket, currentCredentialId])
const onlineDriveFileList = useMemo(() => {

View File

@@ -174,6 +174,7 @@ const CreateFormPipeline = () => {
previewOnlineDocumentRef,
previewWebsitePageRef,
previewOnlineDriveFileRef,
currentCredentialId,
} = dataSourceStore.getState()
const datasourceInfoList: Record<string, any>[] = []
if (datasourceType === DatasourceType.localFile) {
@@ -187,6 +188,7 @@ const CreateFormPipeline = () => {
mime_type,
url: '',
transfer_method: TransferMethod.local_file,
credential_id: currentCredentialId,
}
datasourceInfoList.push(documentInfo)
}
@@ -195,17 +197,23 @@ const CreateFormPipeline = () => {
const documentInfo = {
workspace_id,
page: rest,
credential_id: currentCredentialId,
}
datasourceInfoList.push(documentInfo)
}
if (datasourceType === DatasourceType.websiteCrawl)
datasourceInfoList.push(previewWebsitePageRef.current!)
if (datasourceType === DatasourceType.websiteCrawl) {
datasourceInfoList.push({
...previewWebsitePageRef.current!,
credential_id: currentCredentialId,
})
}
if (datasourceType === DatasourceType.onlineDrive) {
const { bucket } = dataSourceStore.getState()
const { key } = previewOnlineDriveFileRef.current!
datasourceInfoList.push({
bucket,
key,
credential_id: currentCredentialId,
})
}
await runPublishedPipeline({
@@ -225,6 +233,7 @@ const CreateFormPipeline = () => {
const handleProcess = useCallback(async (data: Record<string, any>) => {
if (!datasource)
return
const { bucket, currentCredentialId } = dataSourceStore.getState()
const datasourceInfoList: Record<string, any>[] = []
if (datasourceType === DatasourceType.localFile) {
fileList.forEach((file) => {
@@ -238,6 +247,7 @@ const CreateFormPipeline = () => {
mime_type,
url: '',
transfer_method: TransferMethod.local_file,
credential_id: currentCredentialId,
}
datasourceInfoList.push(documentInfo)
})
@@ -248,22 +258,26 @@ const CreateFormPipeline = () => {
const documentInfo = {
workspace_id,
page: rest,
credential_id: currentCredentialId,
}
datasourceInfoList.push(documentInfo)
})
}
if (datasourceType === DatasourceType.websiteCrawl) {
websitePages.forEach((websitePage) => {
datasourceInfoList.push(websitePage)
datasourceInfoList.push({
...websitePage,
credential_id: currentCredentialId,
})
})
}
if (datasourceType === DatasourceType.onlineDrive) {
if (datasourceType === DatasourceType.onlineDrive) {
const { bucket } = dataSourceStore.getState()
selectedFileKeys.forEach((key) => {
datasourceInfoList.push({
bucket,
key,
credential_id: currentCredentialId,
})
})
}