All files / publisher/hooks useModels.ts

22.22% Statements 2/9
0% Branches 0/4
50% Functions 1/2
22.22% Lines 2/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29      25x     28x                                            
import { useQuery, UseQueryResult } from "react-query";
import type { Model as ModelType } from "../types/shared";
 
const useModels = (
  brandId: string | undefined,
): UseQueryResult<ModelType[], Error> => {
  return useQuery<ModelType[], Error>({
    queryKey: ["models", brandId],
    queryFn: async () => {
      const response = await fetch(`/api/store/${brandId}/models`);
 
      if (!response.ok) {
        throw new Error("There was a problem fetching models");
      }
 
      const modelsData = await response.json();
 
      if (!modelsData.success) {
        throw new Error(modelsData.message);
      }
 
      return modelsData.data;
    },
    enabled: !!brandId,
  });
};
 
export default useModels;