30 lines
1.1 KiB
TypeScript
30 lines
1.1 KiB
TypeScript
import { useMutation, useQueryClient } from "@tanstack/react-query";
|
|
import { TrainingSchema } from "../schemas/training";
|
|
import { createTrainingAction, updateTrainingAction, deleteTrainingAction } from "../actions/training-actions";
|
|
|
|
export function useCreateTraining() {
|
|
const queryClient = useQueryClient();
|
|
const mutation = useMutation({
|
|
mutationFn: (data: TrainingSchema) => createTrainingAction(data),
|
|
onSuccess: () => queryClient.invalidateQueries({ queryKey: ['training'] }),
|
|
})
|
|
return mutation
|
|
}
|
|
|
|
export function useUpdateTraining() {
|
|
const queryClient = useQueryClient();
|
|
const mutation = useMutation({
|
|
mutationFn: (data: TrainingSchema) => updateTrainingAction(data),
|
|
onSuccess: () => queryClient.invalidateQueries({ queryKey: ['training'] }),
|
|
})
|
|
return mutation;
|
|
}
|
|
|
|
export function useDeleteTraining() {
|
|
const queryClient = useQueryClient();
|
|
return useMutation({
|
|
mutationFn: (id: number) => deleteTrainingAction(id),
|
|
onSuccess: () => queryClient.invalidateQueries({ queryKey: ['training'] }),
|
|
})
|
|
}
|