Files
adminpanel/src/api/apiSlice.js
T
2026-05-29 09:57:08 +03:00

44 lines
1.2 KiB
JavaScript

import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'
export const authHeader = () => {
const token = localStorage.getItem('token')
return token ? { Authorization: `Bearer ${token}` } : {}
}
export const API = createApi({
reducerPath: 'API',
baseQuery: fetchBaseQuery({
baseUrl: 'https://api.sovamed.ru',
credentials: 'include',
}),
endpoints: (builder) => ({
login: builder.mutation({
query: (data) => ({
url: '/user/login',
method: 'POST',
body: data,
}),
async onQueryStarted(arg, { queryFulfilled }) {
try {
const { data } = await queryFulfilled
console.log(data)
localStorage.setItem('token', data.token)
localStorage.setItem('admSovamedUserUID', data.user.uid)
localStorage.setItem('admSovamedUserRegionId', data.user.regionId)
} catch {
//
}
},
}),
logout: builder.mutation({
async queryFn(_arg, _api, _extraOptions, _baseQuery) {
localStorage.removeItem('token')
return { data: undefined }
},
}),
}),
})
export const { useLoginMutation, useLogoutMutation } = API;