rename rpc methods to new schema, fix delete id

This commit is contained in:
Samuel Lorch 2023-11-01 03:55:39 +01:00
parent 7eb8b87952
commit 84de607102
18 changed files with 56 additions and 56 deletions

View file

@ -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);

View file

@ -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);

View file

@ -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');

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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;

View file

@ -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 {

View file

@ -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>

View file

@ -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 {

View file

@ -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 {

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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 {

View file

@ -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>

View file

@ -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>

View file

@ -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;