From 7f0b6d97a5b7367c8338462d64191b99b75c0f4d Mon Sep 17 00:00:00 2001 From: Joel Date: Fri, 27 Jun 2025 11:53:14 +0800 Subject: [PATCH] feat: exculde call api --- .../plugins/plugin-detail-panel/detail-header.tsx | 9 ++++++++- web/service/use-plugins.ts | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/web/app/components/plugins/plugin-detail-panel/detail-header.tsx b/web/app/components/plugins/plugin-detail-panel/detail-header.tsx index 66c3cd03f0..b33bc53b3c 100644 --- a/web/app/components/plugins/plugin-detail-panel/detail-header.tsx +++ b/web/app/components/plugins/plugin-detail-panel/detail-header.tsx @@ -45,6 +45,7 @@ import { timeOfDayToDayjs } from '../reference-setting-modal/auto-update-setting import DowngradeWarningModal from '../update-plugin/downgrade-warning-modal' import useReferenceSetting from '../plugin-page/use-reference-setting' import { AUTO_UPDATE_MODE } from '../reference-setting-modal/auto-update-setting/types' +import { useInvalidateReferenceSettings, useRemoveAutoUpgrade } from '@/service/use-plugins' const i18nPrefix = 'plugin.action' @@ -180,8 +181,14 @@ const DetailHeader = ({ hideDowngradeWarningModal() } + const { mutateAsync } = useRemoveAutoUpgrade() + const invalidateReferenceSettings = useInvalidateReferenceSettings() + const handleExcludeAndDownload = async () => { - // TODO: exclude logic + await mutateAsync({ + plugin_id, + }) + invalidateReferenceSettings() onUpdate() hideDowngradeWarningModal() } diff --git a/web/service/use-plugins.ts b/web/service/use-plugins.ts index 54d1c72603..86f8134a5d 100644 --- a/web/service/use-plugins.ts +++ b/web/service/use-plugins.ts @@ -381,6 +381,14 @@ export const useMutationReferenceSettings = ({ }) } +export const useRemoveAutoUpgrade = () => { + return useMutation({ + mutationFn: (payload: { plugin_id: string }) => { + return post('/workspaces/current/plugin/preferences/autoupgrade/exclude', { body: payload }) + }, + }) +} + export const useMutationPluginsFromMarketplace = () => { return useMutation({ mutationFn: (pluginsSearchParams: PluginsSearchParams) => {