import { apiRequest } from "@/services/apiClient";
import type { BillingOverview } from "@/types/billing";

export const billingService = {
  overview(token: string) {
    return apiRequest<BillingOverview>("/billing/overview", { token });
  },

  upgrade(token: string, payload: { plan_id: number; addon_ids?: number[] }) {
    return apiRequest<unknown>("/billing/upgrade", {
      method: "POST",
      token,
      body: payload,
    });
  },

  downgrade(token: string, payload: { plan_id: number }) {
    return apiRequest<unknown>("/billing/downgrade", {
      method: "POST",
      token,
      body: payload,
    });
  },

  cancelDowngrade(token: string) {
    return apiRequest<unknown>("/billing/downgrade/cancel", {
      method: "POST",
      token,
    });
  },
};
