import type { UseFetchOptions } from "nuxt/app";
import { useUserStore } from "@/store/user";
export async function useAPI<T>(
url: string | (() => string),
options?: UseFetchOptions<T>
) {
const userStore = useUserStore();
const accessToken = await userStore.getAccessToken();
const fetchOptions = {
...options,
headers: {
...(options?.headers || {}),
Authorization: `Bearer ${accessToken}`,
"Content-Type": "application/json",
},
}
return useFetch(url, {
...fetchOptions,
$fetch: useNuxtApp().$api as typeof $fetch,
});
}
import type { UseFetchOptions } from "nuxt/app";
import { useUserStore } from "@/store/user";
export async function useAPI<T>(
url: string | (() => string),
options?: UseFetchOptions<T>
) {
const userStore = useUserStore();
const accessToken = await userStore.getAccessToken();
const fetchOptions = {
...options,
headers: {
...(options?.headers || {}),
Authorization: `Bearer ${accessToken}`,
"Content-Type": "application/json",
},
}
return useFetch(url, {
...fetchOptions,
$fetch: useNuxtApp().$api as typeof $fetch,
});
}