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 ef3224028a..b29bd5ff85 100644 --- a/web/app/components/workflow/hooks/use-inspect-vars-crud.ts +++ b/web/app/components/workflow/hooks/use-inspect-vars-crud.ts @@ -12,6 +12,7 @@ import { useInvalidateConversationVarValues, useInvalidateSysVarValues, useLastRun, + useResetConversationVar, useSysVarValues, } from '@/service/use-workflow' import { useCallback, useEffect, useState } from 'react' @@ -37,6 +38,7 @@ const useInspectVarsCrud = () => { const { data: conversationVars } = useConversationVarValues(appId) const invalidateConversationVarValues = useInvalidateConversationVarValues(appId) + const { mutateAsync: doResetConversationVar } = useResetConversationVar(appId) const { data: systemVars } = useSysVarValues(appId) const invalidateSysVarValues = useInvalidateSysVarValues(appId) @@ -143,6 +145,11 @@ const useInspectVarsCrud = () => { } } + const resetConversationVar = async (varId: string) => { + await doResetConversationVar(varId) + invalidateConversationVarValues() + } + const deleteNodeInspectorVars = async (nodeId: string) => { if (hasNodeInspectVars(nodeId)) { await doDeleteNodeInspectorVars(nodeId) @@ -229,6 +236,7 @@ const useInspectVarsCrud = () => { isInspectVarEdited, resetToLastRunVar, invalidateSysVarValues, + resetConversationVar, invalidateConversationVarValues, } } diff --git a/web/service/use-workflow.ts b/web/service/use-workflow.ts index 4d76537da8..b1bba9531f 100644 --- a/web/service/use-workflow.ts +++ b/web/service/use-workflow.ts @@ -1,4 +1,4 @@ -import { del, get, patch, post } from './base' +import { del, get, patch, post, put } from './base' import { useInfiniteQuery, useMutation, useQuery } from '@tanstack/react-query' import type { FetchWorkflowDraftPageParams, @@ -127,6 +127,15 @@ export const useInvalidateConversationVarValues = (appId: string) => { return useInvalid([...useConversationVarValuesKey, appId]) } +export const useResetConversationVar = (appId: string) => { + return useMutation({ + mutationKey: [NAME_SPACE, 'reset conversation var', appId], + mutationFn: async (varId: string) => { + return put(`apps/${appId}/workflows/draft/variables/${varId}/reset`) + }, + }) +} + export const useSysVarValuesKey = [NAME_SPACE, 'sys-variable'] export const useSysVarValues = (appId: string) => { return useQuery({