app_apiHandler_apiSlice.js
/**
* @file
* File : apiSlice.js\
* It is used by RTK Query \
* Defines Base query using axios instance
*
* @author Pierre-Yves Léglise <pleglise@pm.me>
* @name apiSlice
*/
import { createApi } from '@reduxjs/toolkit/query/react'
import axios from './axios'
const axiosBaseQuery =
() =>
async ({ url, method, data, params, headers }) => {
try {
const result = await axios({
url: url,
method,
data,
params,
headers,
})
return { data: result.data }
} catch (axiosError) {
let err = axiosError
return {
error: {
status: err.response?.status,
data: err.response?.data || err,
},
}
}
}
export const apiSlice = createApi({
baseQuery: axiosBaseQuery(),
endpoints: (builder) => ({}),
})