import { cpanelFetch } from "@/lib/utils";
import { api2BaseCommand } from "../..";
import { SubDomainListSubDomainsProps } from "../../types";

export default async function ListSubDomains(
  props: SubDomainListSubDomainsProps
): Promise<any> {
  const command = api2BaseCommand({
    command: "SubDomain",
    subcommand: "listsubdomains",
  });

  const params: { [key: string]: any } = props;

  const paramsString = Object.keys(params)
    .filter((e) => e !== undefined)
    .map((e) => `${e}=${params[e]}`)
    .join("&");

  const fetchString = `${command}&${paramsString}`;

  const response = await cpanelFetch(fetchString);

  if (!response.ok) {
    throw new Error();
  }

  return await response.json();
}
