import { useQuery } from '@tanstack/react-query';
import { supabase } from '@/integrations/supabase/client';
import { queryKeys } from '@/lib/queryKeys';
import type { DatabaseHealthData } from '@/types/database-analytics';

export function useDatabaseHealthCheck() {
  return useQuery({
    queryKey: queryKeys.analytics.databaseHealth(),
    queryFn: async () => {
      const { data, error } = await supabase.rpc('check_database_health');

      if (error) {
        throw error;
      }

      return data as unknown as DatabaseHealthData;
    },
    staleTime: 5 * 60 * 1000, // 5 minutes
    refetchInterval: 2 * 60 * 1000, // Auto-refetch every 2 minutes (health is important!)
  });
}
