import { URL } from "../config";

export const listAllCategories = async () => {
  try {
    const token = localStorage.getItem("token");
    const res = await fetch(`${URL}/v1/api/admin/list-all-categories`, {
      method: "GET",
      headers: {
        "Content-Type": "application/json",
        Authorization: `Bearer ${token}`,
      },
    });

    const jsonResponse = await res.json();

    return jsonResponse;
  } catch (error) {
    console.error("Error fetching data:", error);
  }
};
export const createCategory = async (categoryData: FormData) => {
  try {
    const token = localStorage.getItem("token");

    const res = await fetch(`${URL}/v1/api/admin/create-category`, {
      method: "POST",
      headers: {
        Authorization: `Bearer ${token}`,
      },
      body: categoryData, // Move categoryData to the body
    });

    const jsonResponse = await res.json();

    return jsonResponse;
  } catch (error) {
    console.error("Error creating category:", error);
    throw error; // Optionally rethrow the error for handling
  }
};

export const updateCategory = async (categoryData: FormData) => {
  try {
    const token = localStorage.getItem("token");
    const res = await fetch(`${URL}/v1/api/admin/edit-category`, {
      method: "POST",
      headers: {
        Authorization: `Bearer ${token}`,
      },
      body: categoryData, // Move categoryData to the body
    });

    const jsonResponse = await res.json();

    return jsonResponse;
    return;
  } catch (error) {
    console.error("Error fetching data:", error);
  }
};
export const deleteCategory = async (categoryId: string) => {
  try {
    const token = localStorage.getItem("token");
    const res = await fetch(`${URL}/v1/api/admin/delete-category`, {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        Authorization: `Bearer ${token}`,
      },
      body: JSON.stringify({ categoryId }),
    });

    const jsonResponse = await res.json();

    return jsonResponse;
  } catch (error) {
    console.error("Error fetching data:", error);
  }
};
