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 articleApi = API.injectEndpoints({
|
||||
endpoints: (build) => ({
|
||||
getArticleList: build.query({
|
||||
query: ({ search = '', page = '' }) => {
|
||||
let queryString = '?';
|
||||
if (page) queryString += `page=${page}&limit=20`;
|
||||
else queryString += `limit=20`;
|
||||
if (search) queryString += `&search=${encodeURIComponent(search)}`;
|
||||
return {
|
||||
url: `/article/list${queryString}`,
|
||||
};
|
||||
},
|
||||
refetchOnMountOrArgChange: true,
|
||||
keepUnusedDataFor: 0,
|
||||
}),
|
||||
getArticle: build.query({
|
||||
query: ({ articleId }) => ({
|
||||
url: `/article/${articleId}`,
|
||||
}),
|
||||
}),
|
||||
createArticle: build.mutation({
|
||||
query: ({ data }) => ({
|
||||
url: `/article/create`,
|
||||
method: 'POST',
|
||||
headers: authHeader(),
|
||||
body: JSON.stringify(data),
|
||||
}),
|
||||
}),
|
||||
updateArticle: build.mutation({
|
||||
query: ({ articleId, data }) => ({
|
||||
url: `/article/${articleId}`,
|
||||
method: 'PUT',
|
||||
headers: authHeader(),
|
||||
body: JSON.stringify(data),
|
||||
}),
|
||||
}),
|
||||
deleteArticle: build.mutation({
|
||||
query: ({ articleId }) => ({
|
||||
url: `/article/${articleId}`,
|
||||
method: 'DELETE',
|
||||
headers: authHeader(),
|
||||
}),
|
||||
}),
|
||||
}),
|
||||
});
|
||||
|
||||
export const {
|
||||
useGetArticleQuery,
|
||||
useGetArticleListQuery,
|
||||
useCreateArticleMutation,
|
||||
useUpdateArticleMutation,
|
||||
useDeleteArticleMutation,
|
||||
} = articleApi;
|
||||
@@ -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;
|
||||
@@ -0,0 +1,55 @@
|
||||
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;
|
||||
@@ -0,0 +1,55 @@
|
||||
import { API, authHeader } from './apiSlice';
|
||||
|
||||
export const newsApi = API.injectEndpoints({
|
||||
endpoints: (build) => ({
|
||||
getNewsList: 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: `/news/list${queryString}`,
|
||||
};
|
||||
},
|
||||
refetchOnMountOrArgChange: true,
|
||||
keepUnusedDataFor: 0,
|
||||
}),
|
||||
getNews: build.query({
|
||||
query: ({ newsId }) => ({
|
||||
url: `/news/${newsId}`,
|
||||
}),
|
||||
}),
|
||||
createNews: build.mutation({
|
||||
query: ({ data }) => ({
|
||||
url: `/news/create`,
|
||||
method: 'POST',
|
||||
headers: authHeader(),
|
||||
body: JSON.stringify(data),
|
||||
}),
|
||||
}),
|
||||
updateNews: build.mutation({
|
||||
query: ({ newsId, data }) => ({
|
||||
url: `/news/${newsId}`,
|
||||
method: 'PUT',
|
||||
headers: authHeader(),
|
||||
body: JSON.stringify(data),
|
||||
}),
|
||||
}),
|
||||
deleteNews: build.mutation({
|
||||
query: ({ newsId }) => ({
|
||||
url: `/news/${newsId}`,
|
||||
method: 'DELETE',
|
||||
headers: authHeader(),
|
||||
}),
|
||||
}),
|
||||
}),
|
||||
});
|
||||
|
||||
export const {
|
||||
useGetNewsQuery,
|
||||
useGetNewsListQuery,
|
||||
useCreateNewsMutation,
|
||||
useUpdateNewsMutation,
|
||||
useDeleteNewsMutation,
|
||||
} = newsApi;
|
||||
@@ -0,0 +1,55 @@
|
||||
import { API, authHeader } from './apiSlice';
|
||||
|
||||
export const promoApi = API.injectEndpoints({
|
||||
endpoints: (build) => ({
|
||||
getSitePromoList: 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: `/promo/list${queryString}`,
|
||||
};
|
||||
},
|
||||
refetchOnMountOrArgChange: true,
|
||||
keepUnusedDataFor: 0,
|
||||
}),
|
||||
getSitePromo: build.query({
|
||||
query: ({ promoId }) => ({
|
||||
url: `/promo/${promoId}`,
|
||||
}),
|
||||
}),
|
||||
createSitePromo: build.mutation({
|
||||
query: ({ data }) => ({
|
||||
url: `/promo/create`,
|
||||
method: 'POST',
|
||||
headers: authHeader(),
|
||||
body: JSON.stringify(data),
|
||||
}),
|
||||
}),
|
||||
updateSitePromo: build.mutation({
|
||||
query: ({ promoId, data }) => ({
|
||||
url: `/promo/${promoId}`,
|
||||
method: 'PUT',
|
||||
headers: authHeader(),
|
||||
body: JSON.stringify(data),
|
||||
}),
|
||||
}),
|
||||
deleteSitePromo: build.mutation({
|
||||
query: ({ promoId }) => ({
|
||||
url: `/promo/${promoId}`,
|
||||
method: 'DELETE',
|
||||
headers: authHeader(),
|
||||
}),
|
||||
}),
|
||||
}),
|
||||
});
|
||||
|
||||
export const {
|
||||
useGetSitePromoQuery,
|
||||
useGetSitePromoListQuery,
|
||||
useCreateSitePromoMutation,
|
||||
useUpdateSitePromoMutation,
|
||||
useDeleteSitePromoMutation,
|
||||
} = promoApi;
|
||||
@@ -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