import { ApiError } from "./api-error"; export default defineNuxtPlugin(async () => { const config = useRuntimeConfig(); const { getToken } = useAuthToken(); const selectedOrg = useSelectedOrg(); const api = $fetch.create({ baseURL: config.public.apiBase, async onRequest({ options }) { const token = await getToken(); options.headers = new Headers(options.headers); if (token) { options.headers.set("Authorization", `Bearer ${token}`); } if (selectedOrg.value) { options.headers.set("x-org-id", selectedOrg.value); } }, onResponseError({ response }) { throw new ApiError( response?._data?.message ?? "Request failed", response?.status, response?._data, ); }, }); return { provide: { api, }, }; });