import { useQuery } from "@tanstack/react-query";
import api from "../../../utils/api";
import { SubscriptionPlansResponse } from "../../../types";
import { IUserSubscriptionPlan } from "../types";
import allApis from "../../../utils/api";

export const pricingQueryKeys = {
  all: ["pricing"] as const,
  subscriptionPlans: () => [...pricingQueryKeys.all, "subscription-plans"] as const,
  usersubscription: (workspaceId: string) => [...pricingQueryKeys.all, "user-subscription", workspaceId] as const,
};

export function useGetSubscriptionPlans() {
  return useQuery({
    queryKey: pricingQueryKeys.subscriptionPlans(),
    queryFn: async (): Promise<SubscriptionPlansResponse> => {
      const { data } = await allApis.api.get("subscription/all/plan");
      console.log("[SUBSCRIPTION PLANS]:::::", data)
      return data;
    },
  });
}

export function useGetUserSubscription(workspaceId: string) {
  return useQuery({
    queryKey: pricingQueryKeys.usersubscription(workspaceId),
    queryFn: async (): Promise<IUserSubscriptionPlan> => {
      const { data } = await allApis.api.get(`/subscription/${workspaceId}/active`);
      return data;
    },
    enabled: !!workspaceId,
  });
}