From e14c79ad6790695a6ece03ccbf75cad90772d751 Mon Sep 17 00:00:00 2001
From: Manuel Kieweg <manuel.kieweg@h-da.de>
Date: Thu, 10 Jun 2021 13:52:31 +0200
Subject: [PATCH] add sbi and ond to cetAllCore and write config on Init

---
 api/grpc.go               |  1 +
 northbound/server/core.go | 21 ++++++++++++++++++---
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/api/grpc.go b/api/grpc.go
index 1a2855831..c3765cdf5 100644
--- a/api/grpc.go
+++ b/api/grpc.go
@@ -41,6 +41,7 @@ func Init(addr string) error {
 			log.Infof("SBI: %v", sbi)
 		}
 	}
+	viper.WriteConfig()
 	return nil
 }
 
diff --git a/northbound/server/core.go b/northbound/server/core.go
index 60de83bad..a655ef4d2 100644
--- a/northbound/server/core.go
+++ b/northbound/server/core.go
@@ -9,6 +9,8 @@ import (
 	spb "code.fbi.h-da.de/cocsn/api/go/gosdn/southbound"
 	"code.fbi.h-da.de/cocsn/gosdn/nucleus"
 	"github.com/google/uuid"
+	"google.golang.org/grpc/codes"
+	"google.golang.org/grpc/status"
 )
 
 type core struct {
@@ -24,7 +26,7 @@ func (s core) Get(ctx context.Context, request *pb.GetRequest) (*pb.GetResponse,
 		var err error
 		pndList, err = stringToUUID(request.Pid)
 		if err != nil {
-			return nil, err
+			return nil, status.Errorf(codes.Aborted, "%v", err)
 		}
 	}
 
@@ -34,10 +36,23 @@ func (s core) Get(ctx context.Context, request *pb.GetRequest) (*pb.GetResponse,
 		if err != nil {
 			return nil, err
 		}
+
+		ond, err := fillOnds(pnd, true)
+		if err != nil {
+			return nil, status.Errorf(codes.Aborted, "%v", err)
+		}
+
+		sbi, err := fillSbis(pnd, true)
+		if err != nil {
+			return nil, status.Errorf(codes.Aborted, "%v", err)
+		}
+
 		pnds[i] = &ppb.PrincipalNetworkDomain{
 			Id:          pnd.ID().String(),
 			Name:        pnd.GetName(),
 			Description: pnd.GetDescription(),
+			Ond:         ond,
+			Sbi:         sbi,
 		}
 	}
 	return &pb.GetResponse{
@@ -52,10 +67,10 @@ func (s core) Set(ctx context.Context, request *pb.SetRequest) (*pb.SetResponse,
 
 		pnd, err := nucleus.NewPND(r.Name, r.Description, uuid.New(), sbi)
 		if err != nil {
-			return nil, err
+			return nil, status.Errorf(codes.Aborted, "%v", err)
 		}
 		if err := pndc.Add(pnd); err != nil {
-			return nil, err
+			return nil, status.Errorf(codes.Aborted, "%v", err)
 		}
 	}
 	return &pb.SetResponse{
-- 
GitLab