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)