csa-dashboard-sementara/csa-dashboard/modules/cms/bucket/hooks.ts

41 lines
1.1 KiB
TypeScript

import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query";
import { bucketService } from "./services";
import { QUERY_KEYS } from "@/config/constants";
export const useBucketList = () => {
return useQuery({
queryKey: [QUERY_KEYS.CMS_BUCKETS],
queryFn: bucketService.getAll,
});
};
export const useCreateBucket = () => {
const queryClient = useQueryClient();
return useMutation({
mutationFn: bucketService.create,
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.CMS_BUCKETS] });
},
});
};
export const useUpdateBucket = () => {
const queryClient = useQueryClient();
return useMutation({
mutationFn: bucketService.update,
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.CMS_BUCKETS] });
},
});
};
export const useDeleteBucket = () => {
const queryClient = useQueryClient();
return useMutation({
mutationFn: bucketService.delete,
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: [QUERY_KEYS.CMS_BUCKETS] });
},
});
};