issues/27: admin content CRUD promotions pattern
This commit is contained in:
committed by
Valeriy Petrov
parent
5aab178eb8
commit
dde8ab9ceb
@@ -0,0 +1,55 @@
|
||||
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;
|
||||
Reference in New Issue
Block a user