From 2428738fa6ea36823fcdd8afe17b29f4c0029117 Mon Sep 17 00:00:00 2001 From: Owen Date: Sun, 9 Feb 2025 21:47:59 -0500 Subject: [PATCH] Fix missing ruleId issue --- .../[resourceId]/connectivity/page.tsx | 4 ++-- .../resources/[resourceId]/rules/page.tsx | 24 ++++++++++++++----- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/app/[orgId]/settings/resources/[resourceId]/connectivity/page.tsx b/src/app/[orgId]/settings/resources/[resourceId]/connectivity/page.tsx index 0e853194..b3b26a5a 100644 --- a/src/app/[orgId]/settings/resources/[resourceId]/connectivity/page.tsx +++ b/src/app/[orgId]/settings/resources/[resourceId]/connectivity/page.tsx @@ -269,7 +269,7 @@ export default function ReverseProxyTargets(props: { >(`/resource/${params.resourceId}/target`, data); target.targetId = res.data.data.targetId; } else if (target.updated) { - const res = await api.post( + await api.post( `/target/${target.targetId}`, data ); @@ -290,7 +290,7 @@ export default function ReverseProxyTargets(props: { for (const targetId of targetsToRemove) { await api.delete(`/target/${targetId}`); setTargets( - targets.filter((target) => target.targetId !== targetId) + targets.filter((t) => t.targetId !== targetId) ); } diff --git a/src/app/[orgId]/settings/resources/[resourceId]/rules/page.tsx b/src/app/[orgId]/settings/resources/[resourceId]/rules/page.tsx index ac863c5a..b5038b36 100644 --- a/src/app/[orgId]/settings/resources/[resourceId]/rules/page.tsx +++ b/src/app/[orgId]/settings/resources/[resourceId]/rules/page.tsx @@ -243,30 +243,42 @@ export default function ResourceRules(props: { } if (rule.new) { - await api.put(`/resource/${params.resourceId}/rule`, data); + const res = await api.put(`/resource/${params.resourceId}/rule`, data); + rule.ruleId = res.data.data.ruleId; } else if (rule.updated) { await api.post( `/resource/${params.resourceId}/rule/${rule.ruleId}`, data ); } + + setRules([ + ...rules.map((r) => { + let res = { + ...r, + new: false, + updated: false + }; + return res; + }) + ]); } for (const ruleId of rulesToRemove) { await api.delete( `/resource/${params.resourceId}/rule/${ruleId}` ); + setRules( + rules.filter((r) => r.ruleId !== ruleId) + ); } - setRules( - rules.map((rule) => ({ ...rule, new: false, updated: false })) - ); - setRulesToRemove([]); - toast({ title: "Rules updated", description: "Rules updated successfully" }); + + setRulesToRemove([]); } catch (err) { console.error(err); toast({