|
@@ -4,7 +4,6 @@ import (
|
|
|
"context"
|
|
|
"encoding/json"
|
|
|
"errors"
|
|
|
- "strings"
|
|
|
"time"
|
|
|
|
|
|
nodepb "github.com/gravitl/netmaker/grpc"
|
|
@@ -22,7 +21,7 @@ type NodeServiceServer struct {
|
|
|
|
|
|
// NodeServiceServer.ReadNode - reads node and responds with gRPC
|
|
|
func (s *NodeServiceServer) ReadNode(ctx context.Context, req *nodepb.Object) (*nodepb.Object, error) {
|
|
|
- var node, err = getNewOrLegacyNode(req.Data)
|
|
|
+ var node, err = getNodeFromRequestData(req.Data)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
@@ -111,7 +110,7 @@ func (s *NodeServiceServer) UpdateNode(ctx context.Context, req *nodepb.Object)
|
|
|
return nil, err
|
|
|
}
|
|
|
|
|
|
- node, err := logic.GetNodeByIDorMacAddress(newnode.ID, newnode.MacAddress, newnode.Network)
|
|
|
+ node, err := logic.GetNodeByID(newnode.ID)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
@@ -177,7 +176,7 @@ func getServerAddrs(node *models.Node) {
|
|
|
// NodeServiceServer.DeleteNode - deletes a node and responds over gRPC
|
|
|
func (s *NodeServiceServer) DeleteNode(ctx context.Context, req *nodepb.Object) (*nodepb.Object, error) {
|
|
|
|
|
|
- var node, err = getNewOrLegacyNode(req.Data)
|
|
|
+ var node, err = getNodeFromRequestData(req.Data)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
@@ -197,7 +196,7 @@ 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) {
|
|
|
|
|
|
- var node, err = getNewOrLegacyNode(req.Data)
|
|
|
+ var node, err = getNodeFromRequestData(req.Data)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
@@ -223,7 +222,7 @@ func (s *NodeServiceServer) GetPeers(ctx context.Context, req *nodepb.Object) (*
|
|
|
// NodeServiceServer.GetExtPeers - returns ext peers for a gateway node
|
|
|
func (s *NodeServiceServer) GetExtPeers(ctx context.Context, req *nodepb.Object) (*nodepb.Object, error) {
|
|
|
|
|
|
- var node, err = getNewOrLegacyNode(req.Data)
|
|
|
+ var node, err = getNodeFromRequestData(req.Data)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
@@ -257,7 +256,7 @@ func (s *NodeServiceServer) GetExtPeers(ctx context.Context, req *nodepb.Object)
|
|
|
}
|
|
|
|
|
|
// == private methods ==
|
|
|
-
|
|
|
+/*
|
|
|
func getNewOrLegacyNode(data string) (models.Node, error) {
|
|
|
var reqNode, node models.Node
|
|
|
var err error
|
|
@@ -265,20 +264,30 @@ func getNewOrLegacyNode(data string) (models.Node, error) {
|
|
|
if err = json.Unmarshal([]byte(data), &reqNode); err != nil {
|
|
|
oldID := strings.Split(data, "###") // handle legacy client IDs
|
|
|
if len(oldID) == 2 {
|
|
|
- if node, err = logic.GetNodeByIDorMacAddress(reqNode.ID, oldID[0], oldID[1]); err != nil {
|
|
|
+ if node, err = logic.GetNodeByID(reqNode.ID); err != nil {
|
|
|
return models.Node{}, err
|
|
|
}
|
|
|
} else {
|
|
|
return models.Node{}, err
|
|
|
}
|
|
|
} else {
|
|
|
- node, err = logic.GetNodeByIDorMacAddress(reqNode.ID, reqNode.MacAddress, reqNode.Network)
|
|
|
+ node, err = logic.GetNodeByID(reqNode.ID)
|
|
|
if err != nil {
|
|
|
return models.Node{}, err
|
|
|
}
|
|
|
}
|
|
|
return node, nil
|
|
|
}
|
|
|
+*/
|
|
|
+func getNodeFromRequestData(data string) (models.Node, error) {
|
|
|
+ var reqNode models.Node
|
|
|
+ var err error
|
|
|
+
|
|
|
+ if err = json.Unmarshal([]byte(data), &reqNode); err != nil {
|
|
|
+ return models.Node{}, err
|
|
|
+ }
|
|
|
+ return logic.GetNodeByID(reqNode.ID)
|
|
|
+}
|
|
|
|
|
|
func isServer(node *models.Node) bool {
|
|
|
return node.IsServer == "yes"
|