Can list and delete networks

This commit is contained in:
2023-10-31 15:55:15 +01:00
parent 9a99e0b54e
commit 0e3945089c
4 changed files with 199 additions and 1 deletions

@ -0,0 +1,50 @@
import { APIClient } from "./ApiClient";
export interface IpConfig {
bridge_address: string;
prefix: number;
dhcp_range?: [string, string];
}
export interface NetworkInfo {
name: string;
uuid: string;
title?: string;
description?: string;
forward_mode: "NAT" | "Isolated";
device?: string;
dns_server?: string;
domain?: string;
ip_v4?: IpConfig;
ip_v6?: IpConfig;
}
export function NetworkURL(n: NetworkInfo, edit: boolean = false): string {
return `/net/${n.uuid}${edit ? "/edit" : ""}`;
}
export class NetworkApi {
/**
* Get the entire list of networks
*/
static async GetList(): Promise<NetworkInfo[]> {
return (
await APIClient.exec({
method: "GET",
uri: "/network/list",
})
).data;
}
/**
* Delete a network
*/
static async Delete(n: NetworkInfo): Promise<NetworkInfo[]> {
return (
await APIClient.exec({
method: "DELETE",
uri: `/network/${n.uuid}`,
})
).data;
}
}