faq crud
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
import * as api from "../service/SettingService";
|
||||
import { useMutation, useQuery } from "@tanstack/react-query";
|
||||
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
||||
import { FaqPageEnum } from "../enum/Enum";
|
||||
import { type CreateFaqType } from "../types/Types";
|
||||
|
||||
export const useGetAboutUs = () => {
|
||||
return useQuery({
|
||||
@@ -19,3 +21,40 @@ export const useDeleteAboutUs = () => {
|
||||
mutationFn: api.deleteAboutUs,
|
||||
});
|
||||
};
|
||||
|
||||
export const useGetFaq = (page: FaqPageEnum) => {
|
||||
return useQuery({
|
||||
queryKey: ["faq", page],
|
||||
queryFn: () => api.getFaq(page),
|
||||
});
|
||||
};
|
||||
|
||||
export const useCreateFaq = () => {
|
||||
return useMutation({
|
||||
mutationFn: api.createFaq,
|
||||
});
|
||||
};
|
||||
|
||||
export const useDeleteFaq = () => {
|
||||
return useMutation({
|
||||
mutationFn: api.deleteFaq,
|
||||
});
|
||||
};
|
||||
|
||||
export const useGetFaqDetail = (id: string) => {
|
||||
return useQuery({
|
||||
queryKey: ["faqDetail", id],
|
||||
queryFn: () => api.getFaqDetail(id),
|
||||
enabled: !!id,
|
||||
});
|
||||
};
|
||||
|
||||
export const useUpdateFaq = () => {
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation({
|
||||
mutationFn: ({id, params}: {id: string, params: CreateFaqType}) => api.updateFaq(id, params),
|
||||
onSuccess: (_, {params}) => {
|
||||
queryClient.invalidateQueries({ queryKey: ["faq", params.page] });
|
||||
},
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user