invalidate queries on save

This commit is contained in:
miloschwartz
2025-12-04 17:56:11 -05:00
parent 54e2d95b55
commit 078692c818
4 changed files with 20 additions and 18 deletions

View File

@@ -262,7 +262,7 @@ export default function Page() {
if (res && res.status === 201) {
const data = res.data.data;
router.push(`/${orgId}/settings/clients/${data.clientId}`);
router.push(`/${orgId}/settings/clients/machine/${data.clientId}`);
}
setCreateLoading(false);

View File

@@ -528,7 +528,7 @@ export default function CreateInternalResourceDialog({
</FormItem>
)}
/>
{/*
{/*
{mode === "port" && (
<>
<div className="grid grid-cols-2 gap-4">
@@ -811,7 +811,7 @@ export default function CreateInternalResourceDialog({
render={({ field }) => (
<FormItem className="flex flex-col items-start">
<FormLabel>
{t("clients")}
{t("machineClients")}
</FormLabel>
<FormControl>
<TagInput
@@ -861,12 +861,6 @@ export default function CreateInternalResourceDialog({
/>
</FormControl>
<FormMessage />
<FormDescription>
{t(
"resourceClientDescription"
) ||
"Machine clients that can access this resource"}
</FormDescription>
</FormItem>
)}
/>

View File

@@ -45,7 +45,7 @@ import { ListClientsResponse } from "@server/routers/client/listClients";
import { Tag, TagInput } from "@app/components/tags/tag-input";
import { AxiosResponse } from "axios";
import { UserType } from "@server/types/UserTypes";
import { useQueries, useQuery } from "@tanstack/react-query";
import { useQueries, useQuery, useQueryClient } from "@tanstack/react-query";
import { orgQueries, resourceQueries } from "@app/lib/queries";
type InternalResourceData = {
@@ -80,6 +80,7 @@ export default function EditInternalResourceDialog({
}: EditInternalResourceDialogProps) {
const t = useTranslations();
const api = createApiClient(useEnvContext());
const queryClient = useQueryClient();
const [isSubmitting, setIsSubmitting] = useState(false);
const formSchema = z.object({
@@ -310,6 +311,16 @@ export default function EditInternalResourceDialog({
// })
// ]);
await queryClient.invalidateQueries(
resourceQueries.resourceRoles({ resourceId: resource.id })
);
await queryClient.invalidateQueries(
resourceQueries.resourceUsers({ resourceId: resource.id })
);
await queryClient.invalidateQueries(
resourceQueries.resourceClients({ resourceId: resource.id })
);
toast({
title: t("editInternalResourceDialogSuccess"),
description: t(
@@ -367,6 +378,8 @@ export default function EditInternalResourceDialog({
users: [],
clients: []
});
// Reset initialization flag so form can re-initialize with fresh data when reopened
hasInitialized.current = false;
}
setOpen(open);
}}
@@ -730,7 +743,7 @@ export default function EditInternalResourceDialog({
render={({ field }) => (
<FormItem className="flex flex-col items-start">
<FormLabel>
{t("clients")}
{t("machineClients")}
</FormLabel>
<FormControl>
<TagInput
@@ -780,12 +793,6 @@ export default function EditInternalResourceDialog({
/>
</FormControl>
<FormMessage />
<FormDescription>
{t(
"resourceClientDescription"
) ||
"Machine clients that can access this resource"}
</FormDescription>
</FormItem>
)}
/>