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 siteServicesApi = API.injectEndpoints({
|
||||
endpoints: (build) => ({
|
||||
getSiteServicesList: 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: `/site-services/list${queryString}`,
|
||||
};
|
||||
},
|
||||
refetchOnMountOrArgChange: true,
|
||||
keepUnusedDataFor: 0,
|
||||
}),
|
||||
getSiteServices: build.query({
|
||||
query: ({ siteServicesId }) => ({
|
||||
url: `/site-services/${siteServicesId}`,
|
||||
}),
|
||||
}),
|
||||
createSiteServices: build.mutation({
|
||||
query: ({ data }) => ({
|
||||
url: `/site-services/create`,
|
||||
method: 'POST',
|
||||
headers: authHeader(),
|
||||
body: JSON.stringify(data),
|
||||
}),
|
||||
}),
|
||||
updateSiteServices: build.mutation({
|
||||
query: ({ siteServicesId, data }) => ({
|
||||
url: `/site-services/${siteServicesId}`,
|
||||
method: 'PUT',
|
||||
headers: authHeader(),
|
||||
body: JSON.stringify(data),
|
||||
}),
|
||||
}),
|
||||
deleteSiteServices: build.mutation({
|
||||
query: ({ siteServicesId }) => ({
|
||||
url: `/site-services/${siteServicesId}`,
|
||||
method: 'DELETE',
|
||||
headers: authHeader(),
|
||||
}),
|
||||
}),
|
||||
}),
|
||||
});
|
||||
|
||||
export const {
|
||||
useGetSiteServicesQuery,
|
||||
useGetSiteServicesListQuery,
|
||||
useCreateSiteServicesMutation,
|
||||
useUpdateSiteServicesMutation,
|
||||
useDeleteSiteServicesMutation,
|
||||
} = siteServicesApi;
|
||||
Reference in New Issue
Block a user