diff --git a/client/src/pages/firewall/DestinationNATRules.vue b/client/src/pages/firewall/DestinationNATRules.vue index da0390b..683efea 100644 --- a/client/src/pages/firewall/DestinationNATRules.vue +++ b/client/src/pages/firewall/DestinationNATRules.vue @@ -2,6 +2,9 @@ import { apiCall } from "../../api"; let rules = $ref([]); +let loading = $ref(false); +let selection = $ref([] as number[]); + const columns = [ {heading: 'Name', path: 'name'}, {heading: 'Source', path: 'match.source_addresses'}, @@ -11,27 +14,39 @@ const columns = [ {heading: 'Comment', path: 'comment'}, ]; -async function loadRules(){ +async function load(){ let res = await apiCall("Firewall.GetDestinationNATRules", {}); if (res.Error === null) { - rules = res.Data.DestinationNATRules; + rules = res.Data.destination_nat_rules; console.debug("rules", rules); } else { console.debug("error", res); } } +async function deleteRule(){ + let res = await apiCall("Firewall.DeleteDestinationNATRule", {index: selection[0]}); + if (res.Error === null) { + console.debug("deleted rule"); + } else { + console.debug("error", res); + } + load(); +} + onMounted(async() => { - loadRules(); + load(); }); \ No newline at end of file diff --git a/client/src/pages/firewall/ForwardRules.vue b/client/src/pages/firewall/ForwardRules.vue index 5b8866c..17a845e 100644 --- a/client/src/pages/firewall/ForwardRules.vue +++ b/client/src/pages/firewall/ForwardRules.vue @@ -2,6 +2,9 @@ import { apiCall } from "../../api"; let rules = $ref([]); +let loading = $ref(false); +let selection = $ref([] as number[]); + const columns = [ {heading: 'Name', path: 'name'}, {heading: 'Source', path: 'match.source_addresses'}, @@ -12,27 +15,39 @@ const columns = [ {heading: 'Comment', path: 'comment'}, ]; -async function loadRules(){ +async function load(){ let res = await apiCall("Firewall.GetForwardRules", {}); if (res.Error === null) { - rules = res.Data.ForwardRules; + rules = res.Data.forward_rules; console.debug("rules", rules); } else { console.debug("error", res); } } +async function deleteRule(){ + let res = await apiCall("Firewall.DeleteForwardRule", {index: selection[0]}); + if (res.Error === null) { + console.debug("deleted rule"); + } else { + console.debug("error", res); + } + load(); +} + onMounted(async() => { - loadRules(); + load(); }); \ No newline at end of file diff --git a/client/src/pages/firewall/SourceNATRules.vue b/client/src/pages/firewall/SourceNATRules.vue index 7659253..fa92cee 100644 --- a/client/src/pages/firewall/SourceNATRules.vue +++ b/client/src/pages/firewall/SourceNATRules.vue @@ -2,6 +2,9 @@ import { apiCall } from "../../api"; let rules = $ref([]); +let loading = $ref(false); +let selection = $ref([] as number[]); + const columns = [ {heading: 'Name', path: 'name'}, {heading: 'Source', path: 'match.source_addresses'}, @@ -11,27 +14,39 @@ const columns = [ {heading: 'Comment', path: 'comment'}, ]; -async function loadRules(){ +async function load(){ let res = await apiCall("Firewall.GetSourceNATRules", {}); if (res.Error === null) { - rules = res.Data.SourceNATRules; + rules = res.Data.source_nat_rules; console.debug("rules", rules); } else { console.debug("error", res); } } +async function deleteRule(){ + let res = await apiCall("Firewall.DeleteSourceNATRule", {index: selection[0]}); + if (res.Error === null) { + console.debug("deleted rule"); + } else { + console.debug("error", res); + } + load(); +} + onMounted(async() => { - loadRules(); + load(); }); \ No newline at end of file