Files
shop-admin/src/pages/setting/service/SettingService.ts
T
hamid zarghami 5f5efbd063 manage document
2025-09-30 15:41:42 +03:30

84 lines
2.4 KiB
TypeScript

import axios from "../../../config/axios";
import type {
AboutUsResponse,
CreateAboutUs,
CreateDocumentType,
CreateFaqType,
DocumentTypesResponse,
FaqDetailResponse,
FaqResponse,
UpdateSiteSetting,
} from "../types/Types";
import { FaqPageEnum, SiteSettingPageEnum } from "../enum/Enum";
export const getAboutUs = async (): Promise<AboutUsResponse> => {
const { data } = await axios.get("/about-us");
return data;
};
export const createAboutUs = async (params: CreateAboutUs) => {
const { data } = await axios.post("/admin/settings/about-us", params);
return data;
};
export const deleteAboutUs = async (id: string) => {
const { data } = await axios.delete(`/admin/settings/about-us/${id}`);
return data;
};
export const getFaq = async (page: FaqPageEnum): Promise<FaqResponse> => {
const { data } = await axios.get(`/admin/settings/faqs?page=${page}`);
return data;
};
export const createFaq = async (params: CreateFaqType) => {
const { data } = await axios.post("/admin/settings/faqs", params);
return data;
};
export const deleteFaq = async (id: string) => {
const { data } = await axios.delete(`/admin/settings/faqs/${id}`);
return data;
};
export const getFaqDetail = async (id: string): Promise<FaqDetailResponse> => {
const { data } = await axios.get(`/admin/settings/faqs/${id}`);
return data;
};
export const updateFaq = async (id: string, params: CreateFaqType) => {
const { data } = await axios.patch(`/admin/settings/faqs`, {
...params,
faqId: id,
});
return data;
};
export const getSiteSetting = async (
page: SiteSettingPageEnum
// eslint-disable-next-line @typescript-eslint/no-explicit-any
): Promise<any> => {
const { data } = await axios.get(`/site-setting?name=${page}`);
return data;
};
export const updateSiteSetting = async (params: UpdateSiteSetting) => {
const { data } = await axios.post(`/admin/site-setting/update`, params);
return data;
};
export const createDocument = async (params: CreateDocumentType) => {
const { data } = await axios.post(`/admin/settings/document-types`, params);
return data;
};
export const getDocuments = async (): Promise<DocumentTypesResponse> => {
const { data } = await axios.get(`/seller/document-types`);
return data;
};
export const deleteDocument = async (id: string) => {
const { data } = await axios.delete(`/admin/settings/document-types/${id}`);
return data;
};