mirror of
https://github.com/speatzle/nfsense.git
synced 2025-05-11 19:08:20 +00:00
Basic Rule Page
This commit is contained in:
parent
b80bc4d32f
commit
fb70f41fcb
3 changed files with 32 additions and 1 deletions
|
@ -10,7 +10,7 @@ const NavStateCount = 3;
|
||||||
let navState = $ref(NavState.Open);
|
let navState = $ref(NavState.Open);
|
||||||
const navRoutes = {
|
const navRoutes = {
|
||||||
"/": { icon: IDashboard, caption: "Dashboard" },
|
"/": { icon: IDashboard, caption: "Dashboard" },
|
||||||
"/rules": { icon: IRule, caption: "Rules" },
|
"/firewall/rules": { icon: IRule, caption: "Rules" },
|
||||||
"/addresses": { icon: IAddress, caption: "Addresses" },
|
"/addresses": { icon: IAddress, caption: "Addresses" },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -15,8 +15,10 @@ export async function apiCall(method: string, params: Record<string, any>): Prom
|
||||||
try {
|
try {
|
||||||
const result = await client.request({method, params});
|
const result = await client.request({method, params});
|
||||||
console.debug("api call result", result);
|
console.debug("api call result", result);
|
||||||
|
return { Data: result, Error: null};
|
||||||
} catch (ex){
|
} catch (ex){
|
||||||
console.debug("api call epic fail", ex);
|
console.debug("api call epic fail", ex);
|
||||||
|
return { Data: null, Error: ex};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
29
client/src/pages/firewall/Rules.vue
Normal file
29
client/src/pages/firewall/Rules.vue
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { apiCall } from "../../api";
|
||||||
|
|
||||||
|
let rules = $ref([]);
|
||||||
|
|
||||||
|
async function loadRules(){
|
||||||
|
let res = await apiCall("Firewall.GetForwardRules", {});
|
||||||
|
if (res.Error === null) {
|
||||||
|
rules = res.Data.ForwardRules;
|
||||||
|
console.debug("rules", rules);
|
||||||
|
} else {
|
||||||
|
console.debug("error", res);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(async() => {
|
||||||
|
loadRules();
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<PageHeader title="Forward Rules">
|
||||||
|
<button @click="loadRules">Load Rules</button>
|
||||||
|
</PageHeader>
|
||||||
|
<NiceTable :columns="{name: 'Name', verdict: 'Verdict'}" :sort-self="false" v-model:data="rules"/>
|
||||||
|
</div>
|
||||||
|
</template>
|
Loading…
Add table
Reference in a new issue