import { api } from "@/lib/api"
import type { SubscriptionPlan, UserSubscription, SubscribePayload } from "@/types/subscriptions"

export const getSubscriptionPlans = ["subscriptions", "plans"]
export const getUserSubscription = ["subscriptions", "me"]
export const subscribeToPlan = ["subscriptions", "subscribe"]

export async function fetchSubscriptionPlans(): Promise<SubscriptionPlan[]> {
  const { data } = await api.get("/subscriptions/plans")
  return data
}

export async function fetchUserSubscription(): Promise<UserSubscription> {
  const { data } = await api.get("/subscriptions/me")
  return data
}

export async function subscribeToNewPlan(payload: SubscribePayload): Promise<UserSubscription> {
  const { data } = await api.post("/subscriptions/subscribe", payload)
  return data
}
