mejoras al formulario de registro organizaciones productivas
This commit is contained in:
@@ -1,29 +1,44 @@
|
||||
import { useMutation, useQueryClient } from "@tanstack/react-query";
|
||||
import { TrainingSchema } from "../schemas/training";
|
||||
import { createTrainingAction, updateTrainingAction, deleteTrainingAction } from "../actions/training-actions";
|
||||
import { useSafeQuery } from '@/hooks/use-safe-query';
|
||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||
import {
|
||||
createTrainingAction,
|
||||
deleteTrainingAction,
|
||||
getTrainingAction,
|
||||
getTrainingByIdAction,
|
||||
updateTrainingAction,
|
||||
} from '../actions/training-actions';
|
||||
import { TrainingSchema } from '../schemas/training';
|
||||
|
||||
export function useTrainingQuery(params = {}) {
|
||||
return useSafeQuery(['training', params], () => getTrainingAction(params));
|
||||
}
|
||||
|
||||
export function useTrainingByIdQuery(id: number) {
|
||||
return useSafeQuery(['training', id], () => getTrainingByIdAction(id));
|
||||
}
|
||||
|
||||
export function useCreateTraining() {
|
||||
const queryClient = useQueryClient();
|
||||
const mutation = useMutation({
|
||||
mutationFn: (data: TrainingSchema) => createTrainingAction(data),
|
||||
onSuccess: () => queryClient.invalidateQueries({ queryKey: ['training'] }),
|
||||
})
|
||||
return mutation
|
||||
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;
|
||||
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'] }),
|
||||
})
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation({
|
||||
mutationFn: (id: number) => deleteTrainingAction(id),
|
||||
onSuccess: () => queryClient.invalidateQueries({ queryKey: ['training'] }),
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user