Skip to content
Snippets Groups Projects
Commit f2e745bb authored by fseidl's avatar fseidl Committed by Fabian Seidl
Browse files

updated api calls for server/core

parent b47ff23c
No related branches found
No related tags found
1 merge request!238Stfaseid http refactor
This commit is part of merge request !238. Comments created here will be created in the context of that merge request.
...@@ -17,20 +17,14 @@ type core struct { ...@@ -17,20 +17,14 @@ type core struct {
pb.UnimplementedCoreServiceServer pb.UnimplementedCoreServiceServer
} }
func (s core) Get(ctx context.Context, request *pb.GetRequest) (*pb.GetResponse, error) { func (s core) GetPnd(ctx context.Context, request *pb.GetPndRequest) (*pb.GetPndResponse, error) {
labels := prometheus.Labels{"service": "core", "rpc": "get"} labels := prometheus.Labels{"service": "core", "rpc": "get"}
start := metrics.StartHook(labels, grpcRequestsTotal) start := metrics.StartHook(labels, grpcRequestsTotal)
defer metrics.FinishHook(labels, start, grpcRequestDurationSecondsTotal, grpcRequestDurationSeconds) defer metrics.FinishHook(labels, start, grpcRequestDurationSecondsTotal, grpcRequestDurationSeconds)
var pndList []uuid.UUID
switch request.All { pndList, err := stringToUUID(request.Pid)
case true: if err != nil {
pndList = pndc.UUIDs() return nil, handleRPCError(labels, err)
default:
var err error
pndList, err = stringToUUID(request.Pid)
if err != nil {
return nil, handleRPCError(labels, err)
}
} }
pnds := make([]*ppb.PrincipalNetworkDomain, len(pndList)) pnds := make([]*ppb.PrincipalNetworkDomain, len(pndList))
...@@ -40,31 +34,45 @@ func (s core) Get(ctx context.Context, request *pb.GetRequest) (*pb.GetResponse, ...@@ -40,31 +34,45 @@ func (s core) Get(ctx context.Context, request *pb.GetRequest) (*pb.GetResponse,
return nil, err return nil, err
} }
ond, err := fillOnds(pnd, true) pnds[i] = &ppb.PrincipalNetworkDomain{
if err != nil { Id: pnd.ID().String(),
return nil, handleRPCError(labels, err) Name: pnd.GetName(),
Description: pnd.GetDescription(),
} }
}
return &pb.GetPndResponse{
Timestamp: time.Now().UnixNano(),
Pnd: pnds,
}, nil
}
sbi, err := fillSbis(pnd, true) func (s core) GetPndList(ctx context.Context, request *pb.GetPndListRequest) (*pb.GetPndListResponse, error) {
labels := prometheus.Labels{"service": "core", "rpc": "get"}
start := metrics.StartHook(labels, grpcRequestsTotal)
defer metrics.FinishHook(labels, start, grpcRequestDurationSecondsTotal, grpcRequestDurationSeconds)
pndList := pndc.UUIDs()
pnds := make([]*ppb.PrincipalNetworkDomain, len(pndList))
for i, id := range pndList {
pnd, err := pndc.GetPND(id)
if err != nil { if err != nil {
return nil, handleRPCError(labels, err) return nil, err
} }
pnds[i] = &ppb.PrincipalNetworkDomain{ pnds[i] = &ppb.PrincipalNetworkDomain{
Id: pnd.ID().String(), Id: pnd.ID().String(),
Name: pnd.GetName(), Name: pnd.GetName(),
Description: pnd.GetDescription(), Description: pnd.GetDescription(),
Ond: ond,
Sbi: sbi,
} }
} }
return &pb.GetResponse{ return &pb.GetPndListResponse{
Timestamp: time.Now().UnixNano(), Timestamp: time.Now().UnixNano(),
Pnd: pnds, Pnd: pnds,
}, nil }, nil
} }
func (s core) Set(ctx context.Context, request *pb.SetRequest) (*pb.SetResponse, error) { func (s core) CreatePndList(ctx context.Context, request *pb.CreatePndListRequest) (*pb.CreatePndListResponse, error) {
labels := prometheus.Labels{"service": "core", "rpc": "set"} labels := prometheus.Labels{"service": "core", "rpc": "set"}
start := metrics.StartHook(labels, grpcRequestsTotal) start := metrics.StartHook(labels, grpcRequestsTotal)
defer metrics.FinishHook(labels, start, grpcRequestDurationSecondsTotal, grpcRequestDurationSeconds) defer metrics.FinishHook(labels, start, grpcRequestDurationSecondsTotal, grpcRequestDurationSeconds)
...@@ -79,8 +87,25 @@ func (s core) Set(ctx context.Context, request *pb.SetRequest) (*pb.SetResponse, ...@@ -79,8 +87,25 @@ func (s core) Set(ctx context.Context, request *pb.SetRequest) (*pb.SetResponse,
return nil, handleRPCError(labels, err) return nil, handleRPCError(labels, err)
} }
} }
return &pb.SetResponse{ return &pb.CreatePndListResponse{
Timestamp: time.Now().UnixNano(),
Status: pb.Status_STATUS_OK,
}, nil
}
func (s core) DeletePnd(ctx context.Context, request *pb.DeletePndRequest) (*pb.DeletePndResponse, error) {
labels := prometheus.Labels{"service": "core", "rpc": "set"}
start := metrics.StartHook(labels, grpcRequestsTotal)
defer metrics.FinishHook(labels, start, grpcRequestDurationSecondsTotal, grpcRequestDurationSeconds)
pndId, err := uuid.Parse(request.Pid)
if err != nil {
return nil, handleRPCError(labels, err)
}
pndc.Delete(pndId)
return &pb.DeletePndResponse{
Timestamp: time.Now().UnixNano(), Timestamp: time.Now().UnixNano(),
Status: pb.SetResponse_OK, Status: pb.Status_STATUS_OK,
}, nil }, nil
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment