'use client';

import { cancelPlan, paymentHistory } from '@/lib/dashboard/dashboard-api';
import { useMutation, useQueryClient } from '@tanstack/react-query';

interface CancelPayloadProp {
    customerId: string | number;
}
interface paymentHistoryProp {
    customerId: string | number;
}

export const useCancelSubscription = () => {
    const queryClient = useQueryClient();

    return useMutation({
        mutationFn: async ({ customerId }: CancelPayloadProp) => {
            return await cancelPlan(customerId);
        },

        onSuccess: () => {
            // 🔄 refetch any related queries
            queryClient.invalidateQueries({ queryKey: ['current-plan'] });
            queryClient.invalidateQueries({ queryKey: ['customer-profile'] });
        },
    });
};

export const usePaymentHistory = () => {
    const queryClient = useQueryClient();

    return useMutation({
        mutationFn: async ({ customerId }: paymentHistoryProp) => {
            return await paymentHistory(customerId);
        },

        onSuccess: () => {
            // 🔄 refetch any related queries
            queryClient.invalidateQueries({ queryKey: ['current-plan'] });
            queryClient.invalidateQueries({ queryKey: ['customer-profile'] });
        },
    });
};
