Fix vercel deployment fetching (#758)

This commit is contained in:
Will Chen
2025-07-31 16:13:46 -07:00
committed by GitHub
parent 867ea28f73
commit 0793fc299d
4 changed files with 76 additions and 55 deletions

View File

@@ -0,0 +1,50 @@
import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query";
import { IpcClient } from "@/ipc/ipc_client";
import { VercelDeployment } from "@/ipc/ipc_types";
export function useVercelDeployments(appId: number) {
const queryClient = useQueryClient();
const {
data: deployments = [],
isLoading,
error,
refetch,
} = useQuery<VercelDeployment[], Error>({
queryKey: ["vercel-deployments", appId],
queryFn: async () => {
const ipcClient = IpcClient.getInstance();
return ipcClient.getVercelDeployments({ appId });
},
// enabled: false, // Don't auto-fetch, only fetch when explicitly requested
});
const disconnectProjectMutation = useMutation<void, Error, void>({
mutationFn: async () => {
const ipcClient = IpcClient.getInstance();
return ipcClient.disconnectVercelProject({ appId });
},
onSuccess: () => {
// Clear deployments cache when project is disconnected
queryClient.removeQueries({ queryKey: ["vercel-deployments", appId] });
},
});
const getDeployments = async () => {
return refetch();
};
const disconnectProject = async () => {
return disconnectProjectMutation.mutateAsync();
};
return {
deployments,
isLoading,
error: error?.message || null,
getDeployments,
disconnectProject,
isDisconnecting: disconnectProjectMutation.isPending,
disconnectError: disconnectProjectMutation.error?.message || null,
};
}