From f1d7f63079719c38bbca992287da9e0209ba71f5 Mon Sep 17 00:00:00 2001 From: Samuel Lorch Date: Sat, 1 Apr 2023 01:10:32 +0200 Subject: [PATCH] Add Create and Update Interface Backend --- internal/api/network/interfaces.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/internal/api/network/interfaces.go b/internal/api/network/interfaces.go index 90eb395..d7721c7 100644 --- a/internal/api/network/interfaces.go +++ b/internal/api/network/interfaces.go @@ -18,6 +18,36 @@ func (f *Network) GetInterfaces(ctx context.Context, params struct{}) (GetInterf }, nil } +type CreateInterfaceParameters struct { + Name string + Interface definitions.Interface +} + +func (f *Network) CreateInterface(ctx context.Context, params CreateInterfaceParameters) (struct{}, error) { + _, ok := f.Conf.Network.Interfaces[params.Name] + if ok { + return struct{}{}, fmt.Errorf("Interface already Exists") + } + + f.Conf.Network.Interfaces[params.Name] = params.Interface + return struct{}{}, nil +} + +type UpdateInterfaceParameters struct { + Name string + Interface definitions.Interface +} + +func (f *Network) UpdateInterface(ctx context.Context, params CreateInterfaceParameters) (struct{}, error) { + _, ok := f.Conf.Network.Interfaces[params.Name] + if !ok { + return struct{}{}, fmt.Errorf("Interface does not Exist") + } + + f.Conf.Network.Interfaces[params.Name] = params.Interface + return struct{}{}, nil +} + type DeleteInterfaceParameters struct { Name string }