refactored all grpc to be uniform

This commit is contained in:
0xdcarns 2022-01-10 19:36:13 -05:00 committed by Matthew R Kasun
parent df23b50165
commit c6a2f2cb64

View file

@ -4,7 +4,6 @@ import (
"context"
"encoding/json"
"errors"
"strings"
nodepb "github.com/gravitl/netmaker/grpc"
"github.com/gravitl/netmaker/logger"
@ -22,16 +21,14 @@ type NodeServiceServer struct {
func (s *NodeServiceServer) ReadNode(ctx context.Context, req *nodepb.Object) (*nodepb.Object, error) {
// convert string id (from proto) to mongoDB ObjectId
var err error
var node models.Node
var macAndNetwork = make([]string, 2)
if strings.Contains(req.Data, "###") {
macAndNetwork = strings.Split(req.Data, "###")
if len(macAndNetwork) != 2 {
return nil, errors.New("could not read node, invalid node id given")
}
var reqNode models.Node
err = json.Unmarshal([]byte(req.Data), &reqNode)
if err != nil {
return nil, err
}
node, err = logic.GetNodeByIDorMacAddress(req.Data, macAndNetwork[0], macAndNetwork[1])
var node models.Node
node, err = logic.GetNodeByIDorMacAddress(reqNode.ID, reqNode.MacAddress, reqNode.Network)
if err != nil {
return nil, err
}
@ -138,16 +135,17 @@ func (s *NodeServiceServer) UpdateNode(ctx context.Context, req *nodepb.Object)
// NodeServiceServer.DeleteNode - deletes a node and responds over gRPC
func (s *NodeServiceServer) DeleteNode(ctx context.Context, req *nodepb.Object) (*nodepb.Object, error) {
nodeID := req.GetData()
var nodeInfo = make([]string, 2)
if strings.Contains(nodeID, "###") {
nodeInfo = strings.Split(nodeID, "###")
if len(nodeInfo) != 2 {
return nil, errors.New("node not found")
}
var reqNode models.Node
if err := json.Unmarshal([]byte(req.GetData()), &reqNode); err != nil {
return nil, err
}
node, err := logic.GetNodeByIDorMacAddress(reqNode.ID, reqNode.MacAddress, reqNode.Network)
if err != nil {
return nil, err
}
var node, err = logic.GetNodeByIDorMacAddress(nodeID, nodeInfo[0], nodeInfo[1])
err = logic.DeleteNodeByID(&node, true)
if err != nil {
return nil, err
@ -161,16 +159,13 @@ func (s *NodeServiceServer) DeleteNode(ctx context.Context, req *nodepb.Object)
// NodeServiceServer.GetPeers - fetches peers over gRPC
func (s *NodeServiceServer) GetPeers(ctx context.Context, req *nodepb.Object) (*nodepb.Object, error) {
nodeID := req.GetData()
var nodeInfo = make([]string, 2)
if strings.Contains(nodeID, "###") {
nodeInfo = strings.Split(nodeID, "###")
if len(nodeInfo) != 2 {
return nil, errors.New("could not fetch peers, invalid node id")
}
var reqNode models.Node
if err := json.Unmarshal([]byte(req.GetData()), &reqNode); err != nil {
return nil, err
}
node, err := logic.GetNodeByIDorMacAddress(nodeID, nodeInfo[0], nodeInfo[1])
node, err := logic.GetNodeByIDorMacAddress(reqNode.ID, reqNode.MacAddress, reqNode.Network)
if err != nil {
return nil, err
}
@ -200,20 +195,12 @@ func (s *NodeServiceServer) GetExtPeers(ctx context.Context, req *nodepb.Object)
// Initiate a NodeItem type to write decoded data to
//data := &models.PeersResponse{}
// collection.Find returns a cursor for our (empty) query
macAndNetwork := strings.Split(req.Data, "###")
if len(macAndNetwork) != 2 {
return nil, errors.New("did not receive valid node id when fetching ext peers")
}
nodeID := req.GetData()
var nodeInfo = make([]string, 2)
if strings.Contains(nodeID, "###") {
nodeInfo = strings.Split(nodeID, "###")
if len(nodeInfo) != 2 {
return nil, errors.New("could not fetch peers, invalid node id")
}
var reqNode models.Node
if err := json.Unmarshal([]byte(req.GetData()), &reqNode); err != nil {
return nil, err
}
node, err := logic.GetNodeByIDorMacAddress(nodeID, nodeInfo[0], nodeInfo[1])
node, err := logic.GetNodeByIDorMacAddress(reqNode.ID, reqNode.MacAddress, reqNode.Network)
if err != nil {
return nil, err
}