import { PublicApi } from "~~/lib/api/public"; import { UserApi } from "~~/lib/api/user"; import { Requests } from "~~/lib/requests"; import { useAuthStore } from "~~/stores/auth"; function logger(r: Response) { console.log(`${r.status} ${r.url} ${r.statusText}`); } export function usePublicApi(): PublicApi { const requests = new Requests("", "", {}); return new PublicApi(requests); } export function useUserApi(): UserApi { const authStore = useAuthStore(); const requests = new Requests("", () => authStore.token, {}); requests.addResponseInterceptor(logger); requests.addResponseInterceptor(r => { if (r.status === 401) { authStore.clearSession(); } }); return new UserApi(requests); }