gitscope
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/utils/fetch.ts · v0.3.0-alpha6
Source
1 4466347 Mrdn 2y ago
2 4466347 Mrdn 2y ago import { FetchOptions, ofetch } from 'ofetch';
3 4466347 Mrdn 2y ago import { useAuth } from '@marzneshin/features/auth';
4 4466347 Mrdn 2y ago
5 4466347 Mrdn 2y ago export const $fetch = ofetch.create({
6 4466347 Mrdn 2y ago baseURL: import.meta.env.VITE_BASE_API,
7 4466347 Mrdn 2y ago });
8 4466347 Mrdn 2y ago
9 4466347 Mrdn 2y ago export const fetcher = <T = any>(
10 4466347 Mrdn 2y ago url: string,
11 4466347 Mrdn 2y ago ops: FetchOptions<'json'> = {}
12 4466347 Mrdn 2y ago ) => {
13 4466347 Mrdn 2y ago const token = useAuth.getState().getAuthToken();
14 4466347 Mrdn 2y ago if (token) {
15 4466347 Mrdn 2y ago ops['headers'] = {
16 4466347 Mrdn 2y ago ...(ops?.headers || {}),
17 4466347 Mrdn 2y ago Authorization: `Bearer ${token}`,
18 4466347 Mrdn 2y ago };
19 4466347 Mrdn 2y ago }
20 4466347 Mrdn 2y ago return $fetch<T>(url, ops);
21 4466347 Mrdn 2y ago };
22 4466347 Mrdn 2y ago
23 4466347 Mrdn 2y ago export const fetch = fetcher;