41 lines
1.1 KiB
TypeScript
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] });
|
|
},
|
|
});
|
|
};
|