mirror of
https://github.com/speatzle/nfsense.git
synced 2025-05-10 18:38:22 +00:00
rename rpc methods to new schema, fix delete id
This commit is contained in:
parent
7eb8b87952
commit
84de607102
18 changed files with 56 additions and 56 deletions
|
@ -14,9 +14,9 @@ async function load(){
|
||||||
loading = true;
|
loading = true;
|
||||||
let res: any;
|
let res: any;
|
||||||
if (editTypes[subsystem][entity].idType == 'Number') {
|
if (editTypes[subsystem][entity].idType == 'Number') {
|
||||||
res = await apiCall(`${editTypes[subsystem].name }.get_${ editTypes[subsystem][entity].name}`, {id: id as number - 0});
|
res = await apiCall(`${editTypes[subsystem].name }.${ editTypes[subsystem][entity].name}.get`, {id: id as number - 0});
|
||||||
} else {
|
} else {
|
||||||
res = await apiCall(`${editTypes[subsystem].name }.get_${ editTypes[subsystem][entity].name}`, {id: id});
|
res = await apiCall(`${editTypes[subsystem].name }.${ editTypes[subsystem][entity].name}.get`, {id: id});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
|
@ -30,7 +30,7 @@ async function load(){
|
||||||
|
|
||||||
async function update(value: any) {
|
async function update(value: any) {
|
||||||
console.debug('value', value);
|
console.debug('value', value);
|
||||||
let res = await apiCall(`${editTypes[subsystem].name }.update_${ editTypes[subsystem][entity].name}`, value);
|
let res = await apiCall(`${editTypes[subsystem].name }.${ editTypes[subsystem][entity].name}.update`, value);
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
p.toast.success(`Updated ${ editTypes[subsystem][entity].name}`);
|
p.toast.success(`Updated ${ editTypes[subsystem][entity].name}`);
|
||||||
p.router.go(-1);
|
p.router.go(-1);
|
||||||
|
|
|
@ -9,7 +9,7 @@ const { subsystem, entity } = $(props);
|
||||||
|
|
||||||
async function create(value: any) {
|
async function create(value: any) {
|
||||||
console.debug('value', value);
|
console.debug('value', value);
|
||||||
let res = await apiCall(`${editTypes[subsystem].name }.create_${ editTypes[subsystem][entity].name}`, value);
|
let res = await apiCall(`${editTypes[subsystem].name }.${ editTypes[subsystem][entity].name}.create`, value);
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
p.toast.success(`Created ${ editTypes[subsystem][entity].name}`);
|
p.toast.success(`Created ${ editTypes[subsystem][entity].name}`);
|
||||||
p.router.go(-1);
|
p.router.go(-1);
|
||||||
|
|
|
@ -28,7 +28,7 @@ const displayData = $computed(() => {
|
||||||
|
|
||||||
async function load(){
|
async function load(){
|
||||||
loading = true;
|
loading = true;
|
||||||
let res = await apiCall('config.get_pending_changelog', {});
|
let res = await apiCall('config.pending_changes.log', {});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('changelog', res.Data);
|
console.debug('changelog', res.Data);
|
||||||
changelog = res.Data;
|
changelog = res.Data;
|
||||||
|
@ -39,7 +39,7 @@ async function load(){
|
||||||
}
|
}
|
||||||
|
|
||||||
async function apply(){
|
async function apply(){
|
||||||
let res = await apiCall('config.apply_pending_changes', {});
|
let res = await apiCall('config.pending_changes.apply', {});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('apply');
|
console.debug('apply');
|
||||||
p.toast.success('Applied Pending Config');
|
p.toast.success('Applied Pending Config');
|
||||||
|
@ -50,7 +50,7 @@ async function apply(){
|
||||||
}
|
}
|
||||||
|
|
||||||
async function discard(){
|
async function discard(){
|
||||||
let res = await apiCall('config.discard_pending_changes', {});
|
let res = await apiCall('config.pending_changes.discard', {});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('discard');
|
console.debug('discard');
|
||||||
p.toast.success('Discarded Pending Config');
|
p.toast.success('Discarded Pending Config');
|
||||||
|
|
|
@ -19,7 +19,7 @@ const columns = [
|
||||||
];
|
];
|
||||||
|
|
||||||
async function load(){
|
async function load(){
|
||||||
let res = await apiCall('firewall.get_destination_nat_rules', {});
|
let res = await apiCall('firewall.destination_nat_rules.list', {});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
rules = res.Data;
|
rules = res.Data;
|
||||||
console.debug('rules', rules);
|
console.debug('rules', rules);
|
||||||
|
@ -29,7 +29,7 @@ async function load(){
|
||||||
}
|
}
|
||||||
|
|
||||||
async function deleteRule(){
|
async function deleteRule(){
|
||||||
let res = await apiCall('firewall.delete_destination_nat_rule', {index: selection[0]});
|
let res = await apiCall('firewall.destination_nat_rules.delete', {id: selection[0]});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('deleted rule');
|
console.debug('deleted rule');
|
||||||
p.toast.success('Deleted Rule');
|
p.toast.success('Deleted Rule');
|
||||||
|
@ -41,7 +41,7 @@ async function deleteRule(){
|
||||||
|
|
||||||
async function draggedRow(draggedRow: number, draggedOverRow: number) {
|
async function draggedRow(draggedRow: number, draggedOverRow: number) {
|
||||||
console.log('dragged', draggedRow, draggedOverRow);
|
console.log('dragged', draggedRow, draggedOverRow);
|
||||||
let res = await apiCall('firewall.move_destination_nat_rule', {index: draggedRow, to_index: draggedOverRow});
|
let res = await apiCall('firewall.destination_nat_rules.move', {index: draggedRow, to_index: draggedOverRow});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('moved rule');
|
console.debug('moved rule');
|
||||||
p.toast.success('Moved Rule');
|
p.toast.success('Moved Rule');
|
||||||
|
@ -61,8 +61,8 @@ onMounted(async() => {
|
||||||
<div>
|
<div>
|
||||||
<TableView title="DNAT Rules" :columns="columns" :loading="loading" @draggedRow="draggedRow" v-model:selection="selection" v-model:data="rules" :table-props="{sort:true, sortSelf: true, draggable: true}">
|
<TableView title="DNAT Rules" :columns="columns" :loading="loading" @draggedRow="draggedRow" v-model:selection="selection" v-model:data="rules" :table-props="{sort:true, sortSelf: true, draggable: true}">
|
||||||
<button @click="load">Refresh</button>
|
<button @click="load">Refresh</button>
|
||||||
<router-link class="button" to="/firewall/destinationnatrules/edit">Create</router-link>
|
<router-link class="button" to="/firewall/destination_nat_rules/edit">Create</router-link>
|
||||||
<router-link class="button" :class="{ disabled: selection.length != 1 }" :to="'/firewall/destinationnatrules/edit/' + selection[0]">Edit</router-link>
|
<router-link class="button" :class="{ disabled: selection.length != 1 }" :to="'/firewall/destination_nat_rules/edit/' + selection[0]">Edit</router-link>
|
||||||
<button @click="deleteRule" :disabled="selection.length != 1">Delete</button>
|
<button @click="deleteRule" :disabled="selection.length != 1">Delete</button>
|
||||||
</TableView>
|
</TableView>
|
||||||
</div>
|
</div>
|
|
@ -18,7 +18,7 @@ const columns = [
|
||||||
];
|
];
|
||||||
|
|
||||||
async function load(){
|
async function load(){
|
||||||
let res = await apiCall('firewall.get_forward_rules', {});
|
let res = await apiCall('firewall.forward_rules.list', {});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
rules = res.Data;
|
rules = res.Data;
|
||||||
console.debug('rules', rules);
|
console.debug('rules', rules);
|
||||||
|
@ -28,7 +28,7 @@ async function load(){
|
||||||
}
|
}
|
||||||
|
|
||||||
async function deleteRule(){
|
async function deleteRule(){
|
||||||
let res = await apiCall('firewall.delete_forward_rule', {index: selection[0]});
|
let res = await apiCall('firewall.forward_rules.delete', {id: selection[0]});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('deleted rule');
|
console.debug('deleted rule');
|
||||||
p.toast.success('Deleted Rule');
|
p.toast.success('Deleted Rule');
|
||||||
|
@ -40,7 +40,7 @@ async function deleteRule(){
|
||||||
|
|
||||||
async function draggedRow(draggedRow: number, draggedOverRow: number) {
|
async function draggedRow(draggedRow: number, draggedOverRow: number) {
|
||||||
console.log('dragged', draggedRow, draggedOverRow);
|
console.log('dragged', draggedRow, draggedOverRow);
|
||||||
let res = await apiCall('firewall.move_forward_rule', {index: draggedRow, to_index: draggedOverRow});
|
let res = await apiCall('firewall.forward_rules.move', {index: draggedRow, to_index: draggedOverRow});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('moved rule');
|
console.debug('moved rule');
|
||||||
p.toast.success('Moved Rule');
|
p.toast.success('Moved Rule');
|
||||||
|
@ -60,8 +60,8 @@ onMounted(async() => {
|
||||||
<div>
|
<div>
|
||||||
<TableView title="Forward Rules" :columns="columns" :loading="loading" @draggedRow="draggedRow" v-model:selection="selection" v-model:data="rules" :table-props="{sort:true, sortSelf: true, draggable: true}">
|
<TableView title="Forward Rules" :columns="columns" :loading="loading" @draggedRow="draggedRow" v-model:selection="selection" v-model:data="rules" :table-props="{sort:true, sortSelf: true, draggable: true}">
|
||||||
<button @click="load">Refresh</button>
|
<button @click="load">Refresh</button>
|
||||||
<router-link class="button" to="/firewall/forwardrules/edit">Create</router-link>
|
<router-link class="button" to="/firewall/forward_rules/edit">Create</router-link>
|
||||||
<router-link class="button" :class="{ disabled: selection.length != 1 }" :to="'/firewall/forwardrules/edit/' + selection[0]">Edit</router-link>
|
<router-link class="button" :class="{ disabled: selection.length != 1 }" :to="'/firewall/forward_rules/edit/' + selection[0]">Edit</router-link>
|
||||||
<button @click="deleteRule" :disabled="selection.length != 1">Delete</button>
|
<button @click="deleteRule" :disabled="selection.length != 1">Delete</button>
|
||||||
</TableView>
|
</TableView>
|
||||||
</div>
|
</div>
|
|
@ -19,7 +19,7 @@ const columns = [
|
||||||
];
|
];
|
||||||
|
|
||||||
async function load(){
|
async function load(){
|
||||||
let res = await apiCall('firewall.get_source_nat_rules', {});
|
let res = await apiCall('firewall.source_nat_rules.list', {});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
rules = res.Data;
|
rules = res.Data;
|
||||||
console.debug('rules', rules);
|
console.debug('rules', rules);
|
||||||
|
@ -29,7 +29,7 @@ async function load(){
|
||||||
}
|
}
|
||||||
|
|
||||||
async function deleteRule(){
|
async function deleteRule(){
|
||||||
let res = await apiCall('firewall.delete_source_nat:rule', {index: selection[0]});
|
let res = await apiCall('firewall.source_nat_rules.delete', {id: selection[0]});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('deleted rule');
|
console.debug('deleted rule');
|
||||||
p.toast.success('Deleted Rule');
|
p.toast.success('Deleted Rule');
|
||||||
|
@ -41,7 +41,7 @@ async function deleteRule(){
|
||||||
|
|
||||||
async function draggedRow(draggedRow: number, draggedOverRow: number) {
|
async function draggedRow(draggedRow: number, draggedOverRow: number) {
|
||||||
console.log('dragged', draggedRow, draggedOverRow);
|
console.log('dragged', draggedRow, draggedOverRow);
|
||||||
let res = await apiCall('firewall.move_source_nat_rule', {index: draggedRow, to_index: draggedOverRow});
|
let res = await apiCall('firewall.source_nat_rules.move', {index: draggedRow, to_index: draggedOverRow});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('moved rule');
|
console.debug('moved rule');
|
||||||
p.toast.success('Moved Rule');
|
p.toast.success('Moved Rule');
|
||||||
|
@ -61,8 +61,8 @@ onMounted(async() => {
|
||||||
<div>
|
<div>
|
||||||
<TableView title="SNAT Rules" :columns="columns" :loading="loading" @draggedRow="draggedRow" v-model:selection="selection" v-model:data="rules" :table-props="{sort:true, sortSelf: true, draggable: true}">
|
<TableView title="SNAT Rules" :columns="columns" :loading="loading" @draggedRow="draggedRow" v-model:selection="selection" v-model:data="rules" :table-props="{sort:true, sortSelf: true, draggable: true}">
|
||||||
<button @click="load">Refresh</button>
|
<button @click="load">Refresh</button>
|
||||||
<router-link class="button" to="/firewall/sourcenatrules/edit">Create</router-link>
|
<router-link class="button" to="/firewall/source_nat_rules/edit">Create</router-link>
|
||||||
<router-link class="button" :class="{ disabled: selection.length != 1 }" :to="'/firewall/sourcenatrules/edit/' + selection[0]">Edit</router-link>
|
<router-link class="button" :class="{ disabled: selection.length != 1 }" :to="'/firewall/source_nat_rules/edit/' + selection[0]">Edit</router-link>
|
||||||
<button @click="deleteRule" :disabled="selection.length != 1">Delete</button>
|
<button @click="deleteRule" :disabled="selection.length != 1">Delete</button>
|
||||||
</TableView>
|
</TableView>
|
||||||
</div>
|
</div>
|
|
@ -6,7 +6,7 @@ let loading = $ref(false);
|
||||||
|
|
||||||
async function load(){
|
async function load(){
|
||||||
loading = true;
|
loading = true;
|
||||||
let res = await apiCall('network.get_links', {});
|
let res = await apiCall('network.links.get', {});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('links', res.Data);
|
console.debug('links', res.Data);
|
||||||
links = res.Data;
|
links = res.Data;
|
||||||
|
|
|
@ -32,7 +32,7 @@ const displayData = $computed(() => {
|
||||||
|
|
||||||
async function load(){
|
async function load(){
|
||||||
loading = true;
|
loading = true;
|
||||||
let res = await apiCall('network.get_interfaces', {});
|
let res = await apiCall('network.interfaces.list', {});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('interfaces', res.Data);
|
console.debug('interfaces', res.Data);
|
||||||
interfaces = res.Data;
|
interfaces = res.Data;
|
||||||
|
@ -43,7 +43,7 @@ async function load(){
|
||||||
}
|
}
|
||||||
|
|
||||||
async function deleteInterface(){
|
async function deleteInterface(){
|
||||||
let res = await apiCall('network.delete_interface', {name: displayData[selection[0]].name});
|
let res = await apiCall('network.interfaces.delete', {id: displayData[selection[0]].name});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('deleted interface');
|
console.debug('deleted interface');
|
||||||
} else {
|
} else {
|
|
@ -15,7 +15,7 @@ const columns = [
|
||||||
|
|
||||||
async function load(){
|
async function load(){
|
||||||
loading = true;
|
loading = true;
|
||||||
let res = await apiCall('network.get_static_routes', {});
|
let res = await apiCall('network.static_routes.list', {});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('staticRoutes', res.Data);
|
console.debug('staticRoutes', res.Data);
|
||||||
staticRoutes = res.Data;
|
staticRoutes = res.Data;
|
||||||
|
@ -26,7 +26,7 @@ async function load(){
|
||||||
}
|
}
|
||||||
|
|
||||||
async function deleteStaticRoutes(){
|
async function deleteStaticRoutes(){
|
||||||
let res = await apiCall('network.delete_static_route', {index: selection[0]});
|
let res = await apiCall('network.static_routes.delete', {id: selection[0]});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('deleted static routes');
|
console.debug('deleted static routes');
|
||||||
} else {
|
} else {
|
||||||
|
@ -44,8 +44,8 @@ onMounted(async() => {
|
||||||
<template>
|
<template>
|
||||||
<TableView title="Static Routes" :columns="columns" :loading="loading" v-model:selection="selection" v-model:data="staticRoutes" :table-props="{sort:true, sortSelf: true}">
|
<TableView title="Static Routes" :columns="columns" :loading="loading" v-model:selection="selection" v-model:data="staticRoutes" :table-props="{sort:true, sortSelf: true}">
|
||||||
<button @click="load">Refresh</button>
|
<button @click="load">Refresh</button>
|
||||||
<router-link class="button" to="/network/staticroutes/edit">Create</router-link>
|
<router-link class="button" to="/network/static_routes/edit">Create</router-link>
|
||||||
<router-link class="button" :class="{ disabled: selection.length != 1 }" :to="'/network/staticroutes/edit/' + selection[0]">Edit</router-link>
|
<router-link class="button" :class="{ disabled: selection.length != 1 }" :to="'/network/static_routes/edit/' + selection[0]">Edit</router-link>
|
||||||
<button @click="deleteStaticRoutes" :disabled="selection.length != 1">Delete</button>
|
<button @click="deleteStaticRoutes" :disabled="selection.length != 1">Delete</button>
|
||||||
</TableView>
|
</TableView>
|
||||||
</template>
|
</template>
|
|
@ -16,7 +16,7 @@ const columns = [
|
||||||
|
|
||||||
async function load(){
|
async function load(){
|
||||||
loading = true;
|
loading = true;
|
||||||
let res = await apiCall('object.get_addresses', {});
|
let res = await apiCall('object.addresses.list', {});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
addresses = res.Data;
|
addresses = res.Data;
|
||||||
console.debug('addresses', addresses);
|
console.debug('addresses', addresses);
|
||||||
|
@ -62,7 +62,7 @@ function getAddressValue(s: any): string {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function deleteAddress(){
|
async function deleteAddress(){
|
||||||
let res = await apiCall('object.delete_address', {name: displayData[selection[0]].name});
|
let res = await apiCall('object.addresses_delete', {id: displayData[selection[0]].name});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('deleted address');
|
console.debug('deleted address');
|
||||||
} else {
|
} else {
|
|
@ -56,7 +56,7 @@ function getServicePortRange(s:any): string {
|
||||||
|
|
||||||
async function load(){
|
async function load(){
|
||||||
loading = true;
|
loading = true;
|
||||||
let res = await apiCall('object.get_services', {});
|
let res = await apiCall('object.services.list', {});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('services', res.Data);
|
console.debug('services', res.Data);
|
||||||
services = res.Data;
|
services = res.Data;
|
||||||
|
@ -67,7 +67,7 @@ async function load(){
|
||||||
}
|
}
|
||||||
|
|
||||||
async function deleteService(){
|
async function deleteService(){
|
||||||
let res = await apiCall('object.delete_service', {name: displayData[selection[0]].name});
|
let res = await apiCall('object.services.delete', {name: displayData[selection[0]].name});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('deleted service');
|
console.debug('deleted service');
|
||||||
} else {
|
} else {
|
|
@ -13,7 +13,7 @@ const columns = [
|
||||||
];
|
];
|
||||||
|
|
||||||
async function load(){
|
async function load(){
|
||||||
let res = await apiCall('service.get_ntp_servers', {});
|
let res = await apiCall('service.ntp_servers.list', {});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
servers = res.Data;
|
servers = res.Data;
|
||||||
console.debug('rules', servers);
|
console.debug('rules', servers);
|
||||||
|
@ -23,7 +23,7 @@ async function load(){
|
||||||
}
|
}
|
||||||
|
|
||||||
async function deleteRule(){
|
async function deleteRule(){
|
||||||
let res = await apiCall('service.delete_ntp_server', {index: selection[0]});
|
let res = await apiCall('service.ntp_server.delete', {id: selection[0]});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('deleted server');
|
console.debug('deleted server');
|
||||||
p.toast.success('Deleted NTP Server');
|
p.toast.success('Deleted NTP Server');
|
||||||
|
@ -43,8 +43,8 @@ onMounted(async() => {
|
||||||
<div>
|
<div>
|
||||||
<TableView title="NTP Servers" :columns="columns" :loading="loading" v-model:selection="selection" v-model:data="servers" :table-props="{sort:true, sortSelf: true}">
|
<TableView title="NTP Servers" :columns="columns" :loading="loading" v-model:selection="selection" v-model:data="servers" :table-props="{sort:true, sortSelf: true}">
|
||||||
<button @click="load">Refresh</button>
|
<button @click="load">Refresh</button>
|
||||||
<router-link class="button" to="/service/ntpservers/edit">Create</router-link>
|
<router-link class="button" to="/service/ntp_servers/edit">Create</router-link>
|
||||||
<router-link class="button" :class="{ disabled: selection.length != 1 }" :to="'/service/ntpservers/edit/' + selection[0]">Edit</router-link>
|
<router-link class="button" :class="{ disabled: selection.length != 1 }" :to="'/service/ntp_servers/edit/' + selection[0]">Edit</router-link>
|
||||||
<button @click="deleteRule" :disabled="selection.length != 1">Delete</button>
|
<button @click="deleteRule" :disabled="selection.length != 1">Delete</button>
|
||||||
</TableView>
|
</TableView>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -13,7 +13,7 @@ const columns = [
|
||||||
];
|
];
|
||||||
|
|
||||||
async function load(){
|
async function load(){
|
||||||
let res = await apiCall('service.get_dhcp_servers', {});
|
let res = await apiCall('service.dhcp_servers.list', {});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
servers = res.Data;
|
servers = res.Data;
|
||||||
console.debug('rules', servers);
|
console.debug('rules', servers);
|
||||||
|
@ -23,7 +23,7 @@ async function load(){
|
||||||
}
|
}
|
||||||
|
|
||||||
async function deleteRule(){
|
async function deleteRule(){
|
||||||
let res = await apiCall('service.delete_dhcp_server', {index: selection[0]});
|
let res = await apiCall('service.dhcp_servers.delete', {index: selection[0]});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('deleted server');
|
console.debug('deleted server');
|
||||||
p.toast.success('Deleted DHCP Server');
|
p.toast.success('Deleted DHCP Server');
|
||||||
|
@ -43,8 +43,8 @@ onMounted(async() => {
|
||||||
<div>
|
<div>
|
||||||
<TableView title="DHCP v4 Servers" :columns="columns" :loading="loading" v-model:selection="selection" v-model:data="servers" :table-props="{sort:true, sortSelf: true}">
|
<TableView title="DHCP v4 Servers" :columns="columns" :loading="loading" v-model:selection="selection" v-model:data="servers" :table-props="{sort:true, sortSelf: true}">
|
||||||
<button @click="load">Refresh</button>
|
<button @click="load">Refresh</button>
|
||||||
<router-link class="button" to="/service/dhcpservers/edit">Create</router-link>
|
<router-link class="button" to="/service/dhcp_servers/edit">Create</router-link>
|
||||||
<router-link class="button" :class="{ disabled: selection.length != 1 }" :to="'/service/dhcpservers/edit/' + selection[0]">Edit</router-link>
|
<router-link class="button" :class="{ disabled: selection.length != 1 }" :to="'/service/dhcp_servers/edit/' + selection[0]">Edit</router-link>
|
||||||
<button @click="deleteRule" :disabled="selection.length != 1">Delete</button>
|
<button @click="deleteRule" :disabled="selection.length != 1">Delete</button>
|
||||||
</TableView>
|
</TableView>
|
||||||
</div>
|
</div>
|
|
@ -13,7 +13,7 @@ const columns = [
|
||||||
];
|
];
|
||||||
|
|
||||||
async function load(){
|
async function load(){
|
||||||
let res = await apiCall('service.get_dns_servers', {});
|
let res = await apiCall('service.dns_servers.list', {});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
servers = res.Data;
|
servers = res.Data;
|
||||||
console.debug('rules', servers);
|
console.debug('rules', servers);
|
||||||
|
@ -23,7 +23,7 @@ async function load(){
|
||||||
}
|
}
|
||||||
|
|
||||||
async function deleteRule(){
|
async function deleteRule(){
|
||||||
let res = await apiCall('service.delete_dns_server', {index: selection[0]});
|
let res = await apiCall('service.dns_servers.delete', {index: selection[0]});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('deleted server');
|
console.debug('deleted server');
|
||||||
p.toast.success('Deleted DNS Server');
|
p.toast.success('Deleted DNS Server');
|
||||||
|
@ -43,8 +43,8 @@ onMounted(async() => {
|
||||||
<div>
|
<div>
|
||||||
<TableView title="DNS Servers" :columns="columns" :loading="loading" v-model:selection="selection" v-model:data="servers" :table-props="{sort:true, sortSelf: true}">
|
<TableView title="DNS Servers" :columns="columns" :loading="loading" v-model:selection="selection" v-model:data="servers" :table-props="{sort:true, sortSelf: true}">
|
||||||
<button @click="load">Refresh</button>
|
<button @click="load">Refresh</button>
|
||||||
<router-link class="button" to="/service/dnsservers/edit">Create</router-link>
|
<router-link class="button" to="/service/dns_servers/edit">Create</router-link>
|
||||||
<router-link class="button" :class="{ disabled: selection.length != 1 }" :to="'/service/dnsservers/edit/' + selection[0]">Edit</router-link>
|
<router-link class="button" :class="{ disabled: selection.length != 1 }" :to="'/service/dns_servers/edit/' + selection[0]">Edit</router-link>
|
||||||
<button @click="deleteRule" :disabled="selection.length != 1">Delete</button>
|
<button @click="deleteRule" :disabled="selection.length != 1">Delete</button>
|
||||||
</TableView>
|
</TableView>
|
||||||
</div>
|
</div>
|
|
@ -14,7 +14,7 @@ const columns = [
|
||||||
|
|
||||||
async function load(){
|
async function load(){
|
||||||
loading = true;
|
loading = true;
|
||||||
let res = await apiCall('system.get_users', {});
|
let res = await apiCall('system.users.list', {});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
users = res.Data;
|
users = res.Data;
|
||||||
console.debug('users', users);
|
console.debug('users', users);
|
||||||
|
@ -25,7 +25,7 @@ async function load(){
|
||||||
}
|
}
|
||||||
|
|
||||||
async function deleteUser(){
|
async function deleteUser(){
|
||||||
let res = await apiCall('system.delete_user', {name: users[selection[0]].name});
|
let res = await apiCall('system.users.delete', {name: users[selection[0]].name});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('deleted user');
|
console.debug('deleted user');
|
||||||
} else {
|
} else {
|
|
@ -31,7 +31,7 @@ const displayData = $computed(() => {
|
||||||
|
|
||||||
async function load(){
|
async function load(){
|
||||||
loading = true;
|
loading = true;
|
||||||
let res = await apiCall('vpn.wireguard.get_interfaces', {});
|
let res = await apiCall('vpn.wireguard.interfaces.list', {});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('interfaces', res.Data);
|
console.debug('interfaces', res.Data);
|
||||||
interfaces = res.Data;
|
interfaces = res.Data;
|
||||||
|
@ -42,7 +42,7 @@ async function load(){
|
||||||
}
|
}
|
||||||
|
|
||||||
async function deleteInterface(){
|
async function deleteInterface(){
|
||||||
let res = await apiCall('vpn.wireguard_delete_interface', {name: displayData[selection[0]].name});
|
let res = await apiCall('vpn.wireguard.interfaces.delete', {name: displayData[selection[0]].name});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('deleted interface');
|
console.debug('deleted interface');
|
||||||
} else {
|
} else {
|
||||||
|
@ -52,7 +52,7 @@ async function deleteInterface(){
|
||||||
}
|
}
|
||||||
|
|
||||||
async function editInterface() {
|
async function editInterface() {
|
||||||
p.router.push(`/vpn/wireguardinterfaces/edit/${ displayData[selection[0]].name}`);
|
p.router.push(`/vpn/wireguard_interfaces/edit/${ displayData[selection[0]].name}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(async() => {
|
onMounted(async() => {
|
||||||
|
@ -64,7 +64,7 @@ onMounted(async() => {
|
||||||
<template>
|
<template>
|
||||||
<TableView title="Wireguard Interfaces" :columns="columns" :loading="loading" v-model:selection="selection" v-model:data="displayData" :table-props="{sort:true, sortSelf: true}">
|
<TableView title="Wireguard Interfaces" :columns="columns" :loading="loading" v-model:selection="selection" v-model:data="displayData" :table-props="{sort:true, sortSelf: true}">
|
||||||
<button @click="load">Refresh</button>
|
<button @click="load">Refresh</button>
|
||||||
<router-link class="button" to="/vpn/wireguardinterfaces/edit">Create</router-link>
|
<router-link class="button" to="/vpn/wireguard_interfaces/edit">Create</router-link>
|
||||||
<button @click="editInterface" :disabled="selection.length != 1">Edit</button>
|
<button @click="editInterface" :disabled="selection.length != 1">Edit</button>
|
||||||
<button @click="deleteInterface" :disabled="selection.length != 1">Delete</button>
|
<button @click="deleteInterface" :disabled="selection.length != 1">Delete</button>
|
||||||
</TableView>
|
</TableView>
|
|
@ -32,7 +32,7 @@ const displayData = $computed(() => {
|
||||||
|
|
||||||
async function load(){
|
async function load(){
|
||||||
loading = true;
|
loading = true;
|
||||||
let res = await apiCall('vpn.wireguard.get_peers', {});
|
let res = await apiCall('vpn.wireguard.peers.list', {});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('peers', res.Data);
|
console.debug('peers', res.Data);
|
||||||
peers = res.Data;
|
peers = res.Data;
|
||||||
|
@ -43,7 +43,7 @@ async function load(){
|
||||||
}
|
}
|
||||||
|
|
||||||
async function deletePeer(){
|
async function deletePeer(){
|
||||||
let res = await apiCall('vpn.wireguard.delete_peer', {name: displayData[selection[0]].name});
|
let res = await apiCall('vpn.wireguard.peers.delete', {name: displayData[selection[0]].name});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('deleted peer');
|
console.debug('deleted peer');
|
||||||
} else {
|
} else {
|
||||||
|
@ -53,7 +53,7 @@ async function deletePeer(){
|
||||||
}
|
}
|
||||||
|
|
||||||
async function editPeer() {
|
async function editPeer() {
|
||||||
p.router.push(`/vpn/wireguardpeers/edit/${ displayData[selection[0]].name}`);
|
p.router.push(`/vpn/wireguard_peers/edit/${ displayData[selection[0]].name}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(async() => {
|
onMounted(async() => {
|
||||||
|
@ -65,7 +65,7 @@ onMounted(async() => {
|
||||||
<template>
|
<template>
|
||||||
<TableView title="Peers" :columns="columns" :loading="loading" v-model:selection="selection" v-model:data="displayData" :table-props="{sort:true, sortSelf: true}">
|
<TableView title="Peers" :columns="columns" :loading="loading" v-model:selection="selection" v-model:data="displayData" :table-props="{sort:true, sortSelf: true}">
|
||||||
<button @click="load">Refresh</button>
|
<button @click="load">Refresh</button>
|
||||||
<router-link class="button" to="/vpn/wireguardpeers/edit">Create</router-link>
|
<router-link class="button" to="/vpn/wireguard_peers/edit">Create</router-link>
|
||||||
<button @click="editPeer" :disabled="selection.length != 1">Edit</button>
|
<button @click="editPeer" :disabled="selection.length != 1">Edit</button>
|
||||||
<button @click="deletePeer" :disabled="selection.length != 1">Delete</button>
|
<button @click="deletePeer" :disabled="selection.length != 1">Delete</button>
|
||||||
</TableView>
|
</TableView>
|
|
@ -6,7 +6,7 @@ let loading = $ref(false);
|
||||||
|
|
||||||
async function load() {
|
async function load() {
|
||||||
loading = true;
|
loading = true;
|
||||||
let res = await apiCall('vpn.wireguard.get_status', {});
|
let res = await apiCall('vpn.wireguard.status', {});
|
||||||
if (res.Error === null) {
|
if (res.Error === null) {
|
||||||
console.debug('status', res.Data);
|
console.debug('status', res.Data);
|
||||||
status = res.Data;
|
status = res.Data;
|
Loading…
Add table
Reference in a new issue