mirror of
https://github.com/hay-kot/homebox.git
synced 2024-12-22 06:46:32 +00:00
75c633dcb5
* dummy commit * cleanup workflows * setup and run eslint * add linter to CI * use eslint for formatting * reorder rules * drop editor config
27 lines
733 B
TypeScript
27 lines
733 B
TypeScript
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);
|
|
}
|