import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; import { queryKeys } from '@/lib/query-keys'; import { subscriptionApi } from '@/infrastructure/http/api/subscription'; export function useConfigurableCaps() { return useQuery({ queryKey: queryKeys.subscription.configurableCaps(), queryFn: () => subscriptionApi.getConfigurableCaps(), }); } export function useConfigureSubscription() { const queryClient = useQueryClient(); return useMutation({ mutationFn: (items: Array<{ capabilityKey: string; quantity: number }>) => subscriptionApi.configure(items), onSuccess: () => { queryClient.invalidateQueries({ queryKey: queryKeys.subscription.configurableCaps() }); queryClient.invalidateQueries({ queryKey: queryKeys.subscription.current() }); queryClient.invalidateQueries({ queryKey: queryKeys.subscription.usage() }); }, }); }