import { useMutation, useQueryClient } from '@tanstack/react-query'; import { queryKeys } from '@/lib/query-keys'; import { subscriptionApi } from '@/infrastructure/http/api/subscription'; export function useCheckout() { const queryClient = useQueryClient(); return useMutation({ mutationFn: ({ paymentProvider, planId }: { paymentProvider: string; planId?: string }) => subscriptionApi.checkout(paymentProvider, planId), onSuccess: () => { queryClient.invalidateQueries({ queryKey: queryKeys.subscription.all }); }, }); } export function useCancelSubscription() { const queryClient = useQueryClient(); return useMutation({ mutationFn: () => subscriptionApi.cancel(), onSuccess: () => { queryClient.invalidateQueries({ queryKey: queryKeys.subscription.all }); }, }); } export function useResumeSubscription() { const queryClient = useQueryClient(); return useMutation({ mutationFn: () => subscriptionApi.resume(), onSuccess: () => { queryClient.invalidateQueries({ queryKey: queryKeys.subscription.all }); }, }); }