use-workflow-failed.ts 689 B

123456789101112131415161718192021222324252627
  1. import { useCallback } from 'react'
  2. import produce from 'immer'
  3. import { useWorkflowStore } from '@/app/components/workflow/store'
  4. import { WorkflowRunningStatus } from '@/app/components/workflow/types'
  5. export const useWorkflowFailed = () => {
  6. const workflowStore = useWorkflowStore()
  7. const handleWorkflowFailed = useCallback(() => {
  8. const {
  9. workflowRunningData,
  10. setWorkflowRunningData,
  11. } = workflowStore.getState()
  12. setWorkflowRunningData(produce(workflowRunningData!, (draft) => {
  13. draft.result = {
  14. ...draft.result,
  15. status: WorkflowRunningStatus.Failed,
  16. }
  17. }))
  18. }, [workflowStore])
  19. return {
  20. handleWorkflowFailed,
  21. }
  22. }