fix: plugin task

This commit is contained in:
StyleZhang 2024-11-25 17:54:28 +08:00
parent 8ad9ab40df
commit 57756b18e4
3 changed files with 23 additions and 4 deletions

View File

@ -7,6 +7,7 @@ import {
import { TaskStatus } from '@/app/components/plugins/types' import { TaskStatus } from '@/app/components/plugins/types'
import type { PluginStatus } from '@/app/components/plugins/types' import type { PluginStatus } from '@/app/components/plugins/types'
import { import {
useMutationClearAllTaskPlugin,
useMutationClearTaskPlugin, useMutationClearTaskPlugin,
usePluginTaskList, usePluginTaskList,
} from '@/service/use-plugins' } from '@/service/use-plugins'
@ -14,8 +15,10 @@ import {
export const usePluginTaskStatus = () => { export const usePluginTaskStatus = () => {
const { const {
pluginTasks, pluginTasks,
handleRefetch,
} = usePluginTaskList() } = usePluginTaskList()
const { mutate } = useMutationClearTaskPlugin() const { mutateAsync } = useMutationClearTaskPlugin()
const { mutateAsync: mutateAsyncClearAll } = useMutationClearAllTaskPlugin()
const allPlugins = pluginTasks.filter(task => task.status !== TaskStatus.success).map(task => task.plugins.map((plugin) => { const allPlugins = pluginTasks.filter(task => task.status !== TaskStatus.success).map(task => task.plugins.map((plugin) => {
return { return {
...plugin, ...plugin,
@ -35,12 +38,17 @@ export const usePluginTaskStatus = () => {
successPlugins.push(plugin) successPlugins.push(plugin)
}) })
const handleClearErrorPlugin = useCallback((taskId: string, pluginId: string) => { const handleClearErrorPlugin = useCallback(async (taskId: string, pluginId: string) => {
mutate({ await mutateAsync({
taskId, taskId,
pluginId, pluginId,
}) })
}, [mutate]) handleRefetch()
}, [mutateAsync, handleRefetch])
const handleClearAllErrorPlugin = useCallback(async () => {
await mutateAsyncClearAll()
handleRefetch()
}, [mutateAsyncClearAll, handleRefetch])
const totalPluginsLength = allPlugins.length const totalPluginsLength = allPlugins.length
const runningPluginsLength = runningPlugins.length const runningPluginsLength = runningPlugins.length
const errorPluginsLength = errorPlugins.length const errorPluginsLength = errorPlugins.length
@ -84,6 +92,7 @@ export const usePluginTaskStatus = () => {
isSuccess, isSuccess,
isFailed, isFailed,
handleClearErrorPlugin, handleClearErrorPlugin,
handleClearAllErrorPlugin,
opacity, opacity,
} }
} }

View File

@ -38,6 +38,7 @@ const PluginTasks = () => {
isSuccess, isSuccess,
isFailed, isFailed,
handleClearErrorPlugin, handleClearErrorPlugin,
handleClearAllErrorPlugin,
opacity, opacity,
} = usePluginTaskStatus() } = usePluginTaskStatus()
const { getIconUrl } = useGetIcon() const { getIconUrl } = useGetIcon()
@ -133,6 +134,7 @@ const PluginTasks = () => {
className='shrink-0' className='shrink-0'
size='small' size='small'
variant='ghost' variant='ghost'
onClick={() => handleClearAllErrorPlugin()}
> >
{t('plugin.task.clearAll')} {t('plugin.task.clearAll')}
</Button> </Button>

View File

@ -315,6 +315,14 @@ export const useMutationClearTaskPlugin = () => {
}) })
} }
export const useMutationClearAllTaskPlugin = () => {
return useMutation({
mutationFn: () => {
return post<{ success: boolean }>('/workspaces/current/plugin/tasks/delete_all')
},
})
}
export const useMutationCheckDependenciesBeforeImportDSL = () => { export const useMutationCheckDependenciesBeforeImportDSL = () => {
const mutation = useMutation({ const mutation = useMutation({
mutationFn: ({ dslString, url }: { dslString?: string, url?: string }) => { mutationFn: ({ dslString, url }: { dslString?: string, url?: string }) => {