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;