Source

apis/Company.js

import { useQuery } from "@tanstack/react-query";
import Axios from "../utils/ApiConfiguration";
/**
 * Custom hook to fetch a list of companies.
 *
 * @returns {import("@tanstack/react-query").UseQueryResult} The query result object.
 *
 * @example
 * const { data, isLoading, isError } = useGetCompanyList();
 * if (isLoading) {
 *   return <div>Loading...</div>;
 * }
 * if (isError) {
 *   return <div>Error loading companies</div>;
 * }
 * return (
 *   <div>
 *     {data.map((company) => (
 *       <div key={company.id}>{company.name}</div>
 *     ))}
 *   </div>
 * );
 */
export const useGetCompanyList = () =>
  useQuery({
    queryKey: ["companies"],
    queryFn: () => Axios.get("company/"),
    refetchOnWindowFocus: false,
  });

/**
 * Custom hook to fetch a list of company projects.
 *
 * @returns {import("@tanstack/react-query").UseQueryResult} The query result object.
 *
 * @example
 * const { data, isLoading, isError } = useGetCompanyProjects();
 * if (isLoading) {
 *   return <div>Loading...</div>;
 * }
 * if (isError) {
 *   return <div>Error loading company projects</div>;
 * }
 * return (
 *   <div>
 *     {data.map((project) => (
 *       <div key={project.id}>{project.name}</div>
 *     ))}
 *   </div>
 * );
 */
export const useGetCompanyProjects = () =>
  useQuery({
    queryKey: ["company_projects"],
    queryFn: () => Axios.get("companyproject/"),
    refetchOnWindowFocus: false,
  });