diff --git a/client/src/pages/network/Interfaces.vue b/client/src/pages/network/Interfaces.vue
index ae7f69e..819c354 100644
--- a/client/src/pages/network/Interfaces.vue
+++ b/client/src/pages/network/Interfaces.vue
@@ -49,6 +49,16 @@ async function apply(){
}
}
+async function deleteInterface(){
+ let res = await apiCall("Network.DeleteInterface", {Interface: displayData[selection[0]].name});
+ if (res.Error === null) {
+ console.debug("deleted interface");
+ } else {
+ console.debug("error", res);
+ }
+ load();
+}
+
onMounted(async() => {
load();
});
@@ -61,6 +71,6 @@ onMounted(async() => {
-
+
\ No newline at end of file
diff --git a/internal/api/network/interfaces.go b/internal/api/network/interfaces.go
index b77c565..17e8176 100644
--- a/internal/api/network/interfaces.go
+++ b/internal/api/network/interfaces.go
@@ -8,27 +8,35 @@ import (
"nfsense.net/nfsense/internal/interfaces"
)
-type GetInterfacesParameters struct {
-}
-
type GetInterfacesResult struct {
Interfaces map[string]definitions.Interface
}
-func (f *Network) GetInterfaces(ctx context.Context, params GetInterfacesParameters) (GetInterfacesResult, error) {
+func (f *Network) GetInterfaces(ctx context.Context, params struct{}) (GetInterfacesResult, error) {
return GetInterfacesResult{
Interfaces: f.Conf.Network.Interfaces,
}, nil
}
-type ApplyInterfacesParameters struct {
+type DeleteInterfaceParameters struct {
+ Interface string
+}
+
+func (f *Network) DeleteInterface(ctx context.Context, params DeleteInterfaceParameters) (struct{}, error) {
+ _, ok := f.Conf.Network.Interfaces[params.Interface]
+ if !ok {
+ return struct{}{}, fmt.Errorf("Interface does not Exist")
+ }
+
+ delete(f.Conf.Network.Interfaces, params.Interface)
+ return struct{}{}, nil
}
type ApplyInterfacesResult struct {
Log string
}
-func (f *Network) ApplyInterfaces(ctx context.Context, params ApplyInterfacesParameters) (ApplyInterfacesResult, error) {
+func (f *Network) ApplyInterfaces(ctx context.Context, params struct{}) (ApplyInterfacesResult, error) {
data, err := interfaces.GenerateInterfacesFile(*f.Conf)
if err != nil {
return ApplyInterfacesResult{}, fmt.Errorf("Generating Interfaces File: %w", err)