56 lines
1.6 KiB
JavaScript
56 lines
1.6 KiB
JavaScript
import { API, authHeader } from './apiSlice';
|
|
|
|
export const medicalCenterApi = API.injectEndpoints({
|
|
endpoints: (build) => ({
|
|
getMedicalCenterList: 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: `/medical-center/list${queryString}`,
|
|
};
|
|
},
|
|
refetchOnMountOrArgChange: true,
|
|
keepUnusedDataFor: 0,
|
|
}),
|
|
getMedicalCenter: build.query({
|
|
query: ({ medicalCenterId }) => ({
|
|
url: `/medical-center/${medicalCenterId}`,
|
|
}),
|
|
}),
|
|
createMedicalCenter: build.mutation({
|
|
query: ({ data }) => ({
|
|
url: `/medical-center/create`,
|
|
method: 'POST',
|
|
headers: authHeader(),
|
|
body: JSON.stringify(data),
|
|
}),
|
|
}),
|
|
updateMedicalCenter: build.mutation({
|
|
query: ({ medicalCenterId, data }) => ({
|
|
url: `/medical-center/${medicalCenterId}`,
|
|
method: 'PUT',
|
|
headers: authHeader(),
|
|
body: JSON.stringify(data),
|
|
}),
|
|
}),
|
|
deleteMedicalCenter: build.mutation({
|
|
query: ({ medicalCenterId }) => ({
|
|
url: `/medical-center/${medicalCenterId}`,
|
|
method: 'DELETE',
|
|
headers: authHeader(),
|
|
}),
|
|
}),
|
|
}),
|
|
});
|
|
|
|
export const {
|
|
useGetMedicalCenterQuery,
|
|
useGetMedicalCenterListQuery,
|
|
useCreateMedicalCenterMutation,
|
|
useUpdateMedicalCenterMutation,
|
|
useDeleteMedicalCenterMutation,
|
|
} = medicalCenterApi;
|