19 lines
706 B
TypeScript
19 lines
706 B
TypeScript
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
|
import { useInject } from '@/lib/di/hooks/useInject';
|
|
import { PENALTY_SERVICE_TOKEN } from '@/lib/di/tokens';
|
|
|
|
export function usePenaltyMutation() {
|
|
const penaltyService = useInject(PENALTY_SERVICE_TOKEN);
|
|
const queryClient = useQueryClient();
|
|
|
|
const applyPenaltyMutation = useMutation({
|
|
mutationFn: (command: unknown) => penaltyService.applyPenalty(command),
|
|
onSuccess: () => {
|
|
// Invalidate relevant queries to refresh data
|
|
queryClient.invalidateQueries({ queryKey: ['leagueStewardingData'] });
|
|
queryClient.invalidateQueries({ queryKey: ['penalties'] });
|
|
},
|
|
});
|
|
|
|
return applyPenaltyMutation;
|
|
} |