diff --git a/frontend/composables/api/product/useGetCategories.ts b/frontend/composables/api/product/useGetCategories.ts new file mode 100644 index 0000000..7170bc2 --- /dev/null +++ b/frontend/composables/api/product/useGetCategories.ts @@ -0,0 +1,29 @@ +// imports + +import { useQuery } from "@tanstack/vue-query"; +import { API_ENDPOINTS, QUERY_KEYS } from "~/constants"; + +// types + +export type GetCategoriesResponse = { categories: Category[] }; + +const useGetCategories = () => { + + // state + + const { $axios: axios } = useNuxtApp(); + + // methods + + const handleGetCategories = async () => { + const { data } = await axios.get(`${API_ENDPOINTS.products.categories}`); + return data.categories; + }; + + return useQuery({ + queryKey: [QUERY_KEYS.categories], + queryFn: () => handleGetCategories() + }); +}; + +export default useGetCategories;