task-d.7.8
This commit is contained in:
42
src/features/setup/api/use-setup-run.ts
Normal file
42
src/features/setup/api/use-setup-run.ts
Normal file
@@ -0,0 +1,42 @@
|
||||
'use client';
|
||||
|
||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||
import { completeSetupRun, saveSetupStep, startSetupRun } from './service';
|
||||
import { setupKeys } from './queries';
|
||||
import type { SaveSetupStepPayload } from './types';
|
||||
|
||||
function useInvalidateSetupRun() {
|
||||
const queryClient = useQueryClient();
|
||||
|
||||
return () => {
|
||||
queryClient.invalidateQueries({ queryKey: setupKeys.run() });
|
||||
queryClient.invalidateQueries({ queryKey: setupKeys.report() });
|
||||
};
|
||||
}
|
||||
|
||||
export function useStartSetupRun() {
|
||||
const invalidate = useInvalidateSetupRun();
|
||||
|
||||
return useMutation({
|
||||
mutationFn: () => startSetupRun(),
|
||||
onSuccess: invalidate
|
||||
});
|
||||
}
|
||||
|
||||
export function useSaveSetupStep() {
|
||||
const invalidate = useInvalidateSetupRun();
|
||||
|
||||
return useMutation({
|
||||
mutationFn: (payload: SaveSetupStepPayload) => saveSetupStep(payload),
|
||||
onSuccess: invalidate
|
||||
});
|
||||
}
|
||||
|
||||
export function useCompleteSetupRun() {
|
||||
const invalidate = useInvalidateSetupRun();
|
||||
|
||||
return useMutation({
|
||||
mutationFn: (report: Record<string, unknown>) => completeSetupRun(report),
|
||||
onSuccess: invalidate
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user