mirror of
https://github.com/Tria-plc/emaui.git
synced 2026-08-26 19:12:50 +00:00
24 lines
782 B
TypeScript
24 lines
782 B
TypeScript
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
|
|
import { resolveSessionContext } from '../session';
|
|
|
|
const BASE_API_URL =
|
|
(import.meta as { env?: Record<string, string> }).env?.['VITE_BASE_API_URL'] ??
|
|
'http://localhost:3001/api';
|
|
|
|
export const baseApi = createApi({
|
|
reducerPath: 'baseApi',
|
|
baseQuery: fetchBaseQuery({
|
|
baseUrl: BASE_API_URL,
|
|
prepareHeaders: (headers, { getState }) => {
|
|
const { token, sessionHeaders } = resolveSessionContext(
|
|
getState() as { auth?: { token?: string } },
|
|
);
|
|
if (token) headers.set('Authorization', `Bearer ${token}`);
|
|
Object.entries(sessionHeaders).forEach(([k, v]) => headers.set(k, v));
|
|
return headers;
|
|
},
|
|
}),
|
|
tagTypes: ['Api'],
|
|
endpoints: () => ({}),
|
|
});
|