From 82f4b35d520ce5af050f51ab0ea63cacf7e9f627 Mon Sep 17 00:00:00 2001 From: Joel Date: Mon, 14 Jul 2025 15:30:04 +0800 Subject: [PATCH] chore: use flow type instead of whole url --- .../workflow-app/components/workflow-main.tsx | 4 +-- .../workflow-app/hooks/use-configs-map.ts | 2 -- .../components/workflow/hooks-store/store.ts | 2 -- .../hooks/use-fetch-workflow-inspect-vars.ts | 8 ++---- .../hooks/use-inspect-vars-crud-common.ts | 15 ++++------- .../workflow/hooks/use-inspect-vars-crud.ts | 4 +-- web/service/use-flow.ts | 4 +++ web/service/use-workflow.ts | 26 +++++++++---------- web/service/utils.ts | 4 +-- 9 files changed, 28 insertions(+), 41 deletions(-) diff --git a/web/app/components/workflow-app/components/workflow-main.tsx b/web/app/components/workflow-app/components/workflow-main.tsx index 534c60c73a..af8488e640 100644 --- a/web/app/components/workflow-app/components/workflow-main.tsx +++ b/web/app/components/workflow-app/components/workflow-main.tsx @@ -18,7 +18,7 @@ import { useWorkflowRun, useWorkflowStartRun, } from '../hooks' -import { useStore, useWorkflowStore } from '@/app/components/workflow/store' +import { useWorkflowStore } from '@/app/components/workflow/store' type WorkflowMainProps = Pick const WorkflowMain = ({ @@ -67,7 +67,6 @@ const WorkflowMain = ({ handleWorkflowStartRunInChatflow, handleWorkflowStartRunInWorkflow, } = useWorkflowStartRun() - const appId = useStore(s => s.appId) const availableNodesMetaData = useAvailableNodesMetaData() const { getWorkflowRunAndTraceUrl } = useGetRunAndTraceUrl() const { @@ -75,7 +74,6 @@ const WorkflowMain = ({ handleExportDSL, } = useDSL() const { fetchInspectVars } = useSetWorkflowVarsWithValue({ - flowId: appId, ...useConfigsMap(), }) const { diff --git a/web/app/components/workflow-app/hooks/use-configs-map.ts b/web/app/components/workflow-app/hooks/use-configs-map.ts index d2de9b8f43..6d98b87e91 100644 --- a/web/app/components/workflow-app/hooks/use-configs-map.ts +++ b/web/app/components/workflow-app/hooks/use-configs-map.ts @@ -8,8 +8,6 @@ export const useConfigsMap = () => { return { flowId: appId!, flowType: FlowType.appFlow, - conversationVarsUrl: `apps/${appId}/workflows/draft/conversation-variables`, - systemVarsUrl: `apps/${appId}/workflows/draft/system-variables`, } }, [appId]) } diff --git a/web/app/components/workflow/hooks-store/store.ts b/web/app/components/workflow/hooks-store/store.ts index 45892714e6..783b42d861 100644 --- a/web/app/components/workflow/hooks-store/store.ts +++ b/web/app/components/workflow/hooks-store/store.ts @@ -64,8 +64,6 @@ export type CommonHooksFnMap = { configsMap?: { flowId: string flowType: FlowType - conversationVarsUrl: string - systemVarsUrl: string } } diff --git a/web/app/components/workflow/hooks/use-fetch-workflow-inspect-vars.ts b/web/app/components/workflow/hooks/use-fetch-workflow-inspect-vars.ts index 09a106affe..463611a7e1 100644 --- a/web/app/components/workflow/hooks/use-fetch-workflow-inspect-vars.ts +++ b/web/app/components/workflow/hooks/use-fetch-workflow-inspect-vars.ts @@ -11,20 +11,16 @@ import type { FlowType } from '@/types/common' type Params = { flowType: FlowType flowId: string - conversationVarsUrl: string - systemVarsUrl: string } export const useSetWorkflowVarsWithValue = ({ flowType, flowId, - conversationVarsUrl, - systemVarsUrl, }: Params) => { const workflowStore = useWorkflowStore() const store = useStoreApi() - const invalidateConversationVarValues = useInvalidateConversationVarValues(conversationVarsUrl) - const invalidateSysVarValues = useInvalidateSysVarValues(systemVarsUrl) + const invalidateConversationVarValues = useInvalidateConversationVarValues(flowType, flowId) + const invalidateSysVarValues = useInvalidateSysVarValues(flowType, flowId) const { handleCancelAllNodeSuccessStatus } = useNodesInteractionsWithoutSync() const setInspectVarsToStore = useCallback((inspectVars: VarInInspect[]) => { diff --git a/web/app/components/workflow/hooks/use-inspect-vars-crud-common.ts b/web/app/components/workflow/hooks/use-inspect-vars-crud-common.ts index 5c9851829d..6391fdfec6 100644 --- a/web/app/components/workflow/hooks/use-inspect-vars-crud-common.ts +++ b/web/app/components/workflow/hooks/use-inspect-vars-crud-common.ts @@ -3,10 +3,7 @@ import { useWorkflowStore } from '@/app/components/workflow/store' import type { ValueSelector } from '@/app/components/workflow/types' import type { VarInInspect } from '@/types/workflow' import { VarInInspectType } from '@/types/workflow' -import { - useInvalidateConversationVarValues, - useInvalidateSysVarValues, -} from '@/service/use-workflow' + import { useCallback } from 'react' import { isConversationVar, isENV, isSystemVar } from '@/app/components/workflow/nodes/_base/components/variable/utils' import produce from 'immer' @@ -19,17 +16,15 @@ import useFLow from '@/service/use-flow' type Params = { flowId: string flowType: FlowType - conversationVarsUrl: string - systemVarsUrl: string } export const useInspectVarsCrudCommon = ({ flowId, flowType, - conversationVarsUrl, - systemVarsUrl, }: Params) => { const workflowStore = useWorkflowStore() const { + useInvalidateConversationVarValues, + useInvalidateSysVarValues, useResetConversationVar, useResetToLastRunValue, useDeleteAllInspectorVars, @@ -37,10 +32,10 @@ export const useInspectVarsCrudCommon = ({ useDeleteInspectVar, useEditInspectorVar, } = useFLow({ flowType }) - const invalidateConversationVarValues = useInvalidateConversationVarValues(conversationVarsUrl!) + const invalidateConversationVarValues = useInvalidateConversationVarValues(flowId) const { mutateAsync: doResetConversationVar } = useResetConversationVar(flowId) const { mutateAsync: doResetToLastRunValue } = useResetToLastRunValue(flowId) - const invalidateSysVarValues = useInvalidateSysVarValues(systemVarsUrl!) + const invalidateSysVarValues = useInvalidateSysVarValues(flowId) const { mutateAsync: doDeleteAllInspectorVars } = useDeleteAllInspectorVars(flowId) const { mutate: doDeleteNodeInspectorVars } = useDeleteNodeInspectorVars(flowId) diff --git a/web/app/components/workflow/hooks/use-inspect-vars-crud.ts b/web/app/components/workflow/hooks/use-inspect-vars-crud.ts index 50188185c2..ab38bf0446 100644 --- a/web/app/components/workflow/hooks/use-inspect-vars-crud.ts +++ b/web/app/components/workflow/hooks/use-inspect-vars-crud.ts @@ -8,8 +8,8 @@ import { const useInspectVarsCrud = () => { const nodesWithInspectVars = useStore(s => s.nodesWithInspectVars) const configsMap = useHooksStore(s => s.configsMap) - const { data: conversationVars } = useConversationVarValues(configsMap?.conversationVarsUrl) - const { data: systemVars } = useSysVarValues(configsMap?.systemVarsUrl) + const { data: conversationVars } = useConversationVarValues(configsMap?.flowType, configsMap?.flowId) + const { data: systemVars } = useSysVarValues(configsMap?.flowType, configsMap?.flowId) const hasNodeInspectVars = useHooksStore(s => s.hasNodeInspectVars) const hasSetInspectVar = useHooksStore(s => s.hasSetInspectVar) const fetchInspectVarValue = useHooksStore(s => s.fetchInspectVarValue) diff --git a/web/service/use-flow.ts b/web/service/use-flow.ts index 380ad5ba6d..54820a8d1d 100644 --- a/web/service/use-flow.ts +++ b/web/service/use-flow.ts @@ -4,6 +4,8 @@ import { useDeleteInspectVar as useDeleteInspectVarInner, useDeleteNodeInspectorVars as useDeleteNodeInspectorVarsInner, useEditInspectorVar as useEditInspectorVarInner, + useInvalidateConversationVarValues as useInvalidateConversationVarValuesInner, + useInvalidateSysVarValues as useInvalidateSysVarValuesInner, useResetConversationVar as useResetConversationVarInner, useResetToLastRunValue as useResetToLastRunValueInner, } from './use-workflow' @@ -17,6 +19,8 @@ const useFLow = ({ flowType, }: Params) => { return { + useInvalidateConversationVarValues: curry(useInvalidateConversationVarValuesInner)(flowType), + useInvalidateSysVarValues: curry(useInvalidateSysVarValuesInner)(flowType), useResetConversationVar: curry(useResetConversationVarInner)(flowType), useResetToLastRunValue: curry(useResetToLastRunValueInner)(flowType), useDeleteAllInspectorVars: curry(useDeleteAllInspectorVarsInner)(flowType), diff --git a/web/service/use-workflow.ts b/web/service/use-workflow.ts index 15cc2014d5..2d4148e6da 100644 --- a/web/service/use-workflow.ts +++ b/web/service/use-workflow.ts @@ -126,21 +126,19 @@ export const useInvalidAllLastRun = (flowType?: FlowType, flowId?: string) => { return useInvalid([NAME_SPACE, flowType, 'last-run', flowId]) } -const useConversationVarValuesKey = [NAME_SPACE, 'conversation-variable'] - -export const useConversationVarValues = (url?: string) => { +export const useConversationVarValues = (flowType?: FlowType, flowId?: string) => { return useQuery({ - enabled: !!url, - queryKey: [...useConversationVarValuesKey, url], + enabled: !!flowId, + queryKey: [NAME_SPACE, flowType, 'conversation var values', flowId], queryFn: async () => { - const { items } = (await get(url || '')) as { items: VarInInspect[] } + const { items } = (await get(`${getFlowPrefix(flowType)}/${flowId}/workflows/draft/conversation-variables`)) as { items: VarInInspect[] } return items }, }) } -export const useInvalidateConversationVarValues = (url: string) => { - return useInvalid([...useConversationVarValuesKey, url]) +export const useInvalidateConversationVarValues = (flowType: FlowType, flowId: string) => { + return useInvalid([NAME_SPACE, flowType, 'conversation var values', flowId]) } export const useResetConversationVar = (flowType: FlowType, flowId: string) => { @@ -162,19 +160,19 @@ export const useResetToLastRunValue = (flowType: FlowType, flowId: string) => { } export const useSysVarValuesKey = [NAME_SPACE, 'sys-variable'] -export const useSysVarValues = (url?: string) => { +export const useSysVarValues = (flowType?: FlowType, flowId?: string) => { return useQuery({ - enabled: !!url, - queryKey: [...useSysVarValuesKey, url], + enabled: !!flowId, + queryKey: [NAME_SPACE, flowType, 'sys var values', flowId], queryFn: async () => { - const { items } = (await get(url || '')) as { items: VarInInspect[] } + const { items } = (await get(`${getFlowPrefix(flowType)}/${flowId}/workflows/draft/system-variables`)) as { items: VarInInspect[] } return items }, }) } -export const useInvalidateSysVarValues = (url: string) => { - return useInvalid([...useSysVarValuesKey, url]) +export const useInvalidateSysVarValues = (flowType: FlowType, flowId: string) => { + return useInvalid([NAME_SPACE, flowType, 'sys var values', flowId]) } export const useDeleteAllInspectorVars = (flowType: FlowType, flowId: string) => { diff --git a/web/service/utils.ts b/web/service/utils.ts index fe26257dc6..7700f62582 100644 --- a/web/service/utils.ts +++ b/web/service/utils.ts @@ -5,6 +5,6 @@ export const flowPrefixMap = { [FlowType.ragFlow]: 'rag/pipelines', } -export const getFlowPrefix = (type: FlowType) => { - return flowPrefixMap[type] || flowPrefixMap[FlowType.appFlow] +export const getFlowPrefix = (type?: FlowType) => { + return flowPrefixMap[type!] || flowPrefixMap[FlowType.appFlow] }