mirror of
https://github.com/shankar0123/certctl.git
synced 2026-06-11 11:18:51 +00:00
M-029 Pass 1 batch 5: migrate 2 four-mutation pages to useTrackedMutation
Drains 8 more useMutation sites (18 -> 10). NetworkScanPage hoists the
shared invalidation array into scanTargetInvalidates const.
Pages migrated:
- IssuersPage.tsx test/delete/create/update all invalidate [['issuers']]
(testIssuerConnection updates last_tested_at
server-side, so the list refreshes; local
setTestResult banner still surfaces immediate result)
(queryClient + useQueryClient dropped)
- NetworkScanPage.tsx create/delete/toggle/scan all invalidate
[['network-scan-targets']] (hoisted to shared const)
(queryClient + useQueryClient dropped)
Verification:
legacy useMutation count 18 -> 10 (-8)
useTrackedMutation count 38 -> 46 (+8)
Closes 46 of 56 sites toward M-029 Pass 1 completion (82%).
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { useState } from 'react';
|
||||
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
|
||||
import { useQuery } from '@tanstack/react-query';
|
||||
import { useTrackedMutation } from '../hooks/useTrackedMutation';
|
||||
import {
|
||||
getNetworkScanTargets,
|
||||
createNetworkScanTarget,
|
||||
@@ -119,7 +120,6 @@ function CreateScanTargetModal({ onClose, onCreate }: {
|
||||
|
||||
export default function NetworkScanPage() {
|
||||
const [showCreate, setShowCreate] = useState(false);
|
||||
const queryClient = useQueryClient();
|
||||
|
||||
const { data, isLoading, error, refetch } = useQuery({
|
||||
queryKey: ['network-scan-targets'],
|
||||
@@ -127,28 +127,31 @@ export default function NetworkScanPage() {
|
||||
refetchInterval: 30000,
|
||||
});
|
||||
|
||||
const createMutation = useMutation({
|
||||
// Every network-scan-target mutation invalidates the same list query.
|
||||
const scanTargetInvalidates = [['network-scan-targets']];
|
||||
|
||||
const createMutation = useTrackedMutation({
|
||||
mutationFn: createNetworkScanTarget,
|
||||
invalidates: scanTargetInvalidates,
|
||||
onSuccess: () => {
|
||||
queryClient.invalidateQueries({ queryKey: ['network-scan-targets'] });
|
||||
setShowCreate(false);
|
||||
},
|
||||
});
|
||||
|
||||
const deleteMutation = useMutation({
|
||||
const deleteMutation = useTrackedMutation({
|
||||
mutationFn: deleteNetworkScanTarget,
|
||||
onSuccess: () => queryClient.invalidateQueries({ queryKey: ['network-scan-targets'] }),
|
||||
invalidates: scanTargetInvalidates,
|
||||
});
|
||||
|
||||
const toggleMutation = useMutation({
|
||||
const toggleMutation = useTrackedMutation({
|
||||
mutationFn: ({ id, enabled }: { id: string; enabled: boolean }) =>
|
||||
updateNetworkScanTarget(id, { enabled }),
|
||||
onSuccess: () => queryClient.invalidateQueries({ queryKey: ['network-scan-targets'] }),
|
||||
invalidates: scanTargetInvalidates,
|
||||
});
|
||||
|
||||
const scanMutation = useMutation({
|
||||
const scanMutation = useTrackedMutation({
|
||||
mutationFn: triggerNetworkScan,
|
||||
onSuccess: () => queryClient.invalidateQueries({ queryKey: ['network-scan-targets'] }),
|
||||
invalidates: scanTargetInvalidates,
|
||||
});
|
||||
|
||||
const columns: Column<NetworkScanTarget>[] = [
|
||||
|
||||
Reference in New Issue
Block a user