56 lines
1.4 KiB
JavaScript
56 lines
1.4 KiB
JavaScript
import { API, authHeader } from './apiSlice';
|
|
|
|
export const diseaseApi = API.injectEndpoints({
|
|
endpoints: (build) => ({
|
|
getDiseaseList: build.query({
|
|
query: ({ search = '', page = '' }) => {
|
|
let queryString = '?';
|
|
if (page) queryString += `page=${page}&perPage=20`;
|
|
else queryString += `perPage=20`;
|
|
if (search) queryString += `&search=${encodeURIComponent(search)}`;
|
|
return {
|
|
url: `/disease/list${queryString}`,
|
|
};
|
|
},
|
|
refetchOnMountOrArgChange: true,
|
|
keepUnusedDataFor: 0,
|
|
}),
|
|
getDisease: build.query({
|
|
query: ({ diseaseId }) => ({
|
|
url: `/disease/${diseaseId}`,
|
|
}),
|
|
}),
|
|
createDisease: build.mutation({
|
|
query: ({ data }) => ({
|
|
url: `/disease/create`,
|
|
method: 'POST',
|
|
headers: authHeader(),
|
|
body: JSON.stringify(data),
|
|
}),
|
|
}),
|
|
updateDisease: build.mutation({
|
|
query: ({ diseaseId, data }) => ({
|
|
url: `/disease/${diseaseId}`,
|
|
method: 'PUT',
|
|
headers: authHeader(),
|
|
body: JSON.stringify(data),
|
|
}),
|
|
}),
|
|
deleteDisease: build.mutation({
|
|
query: ({ diseaseId }) => ({
|
|
url: `/disease/${diseaseId}`,
|
|
method: 'DELETE',
|
|
headers: authHeader(),
|
|
}),
|
|
}),
|
|
}),
|
|
});
|
|
|
|
export const {
|
|
useGetDiseaseQuery,
|
|
useGetDiseaseListQuery,
|
|
useCreateDiseaseMutation,
|
|
useUpdateDiseaseMutation,
|
|
useDeleteDiseaseMutation,
|
|
} = diseaseApi;
|