Browse Source

added address struct

0xdcarns 3 years ago
parent
commit
55dd7c18f7
1 changed files with 17 additions and 11 deletions
  1. 17 11
      netclient/functions/list.go

+ 17 - 11
netclient/functions/list.go

@@ -15,13 +15,13 @@ import (
 
 // Peer - the peer struct for list
 type Peer struct {
-	Name           string `json:"name,omitempty"`
-	Interface      string `json:"interface,omitempty"`
-	PrivateIPv4    string `json:"private_ipv4,omitempty"`
-	PrivateIPv6    string `json:"private_ipv6,omitempty"`
-	PublicKey      string `json:"public_key,omitempty"`
-	PublicEndpoint string `json:"public_endpoint,omitempty"`
-	Addresses      string `json:"addresses,omitempty"`
+	Name           string    `json:"name,omitempty"`
+	Interface      string    `json:"interface,omitempty"`
+	PrivateIPv4    string    `json:"private_ipv4,omitempty"`
+	PrivateIPv6    string    `json:"private_ipv6,omitempty"`
+	PublicKey      string    `json:"public_key,omitempty"`
+	PublicEndpoint string    `json:"public_endpoint,omitempty"`
+	Addresses      []address `json:"addresses,omitempty"`
 }
 
 // Network - the local node network representation for list command
@@ -32,6 +32,11 @@ type Network struct {
 	Peers       []Peer `json:"peers"`
 }
 
+type address struct {
+	CIDR string `json:"cidr,omitempty"`
+	IP   string `json:"ip,omitempty"`
+}
+
 // List - lists the current peers for the local node with name and node ID
 func List(network string) error {
 	nets := []Network{}
@@ -123,12 +128,13 @@ func getPeers(network string) ([]Peer, error) {
 
 	peers := []Peer{}
 	for _, peer := range nodeGET.Peers {
-		var addresses = ""
+		var addresses = []address{}
 		for j := range peer.AllowedIPs {
-			addresses += peer.AllowedIPs[j].String()
-			if j < len(peer.AllowedIPs)-1 {
-				addresses += ","
+			newAddress := address{
+				CIDR: peer.AllowedIPs[j].String(),
+				IP:   peer.AllowedIPs[j].IP.String(),
 			}
+			addresses = append(addresses, newAddress)
 		}
 		peers = append(peers, Peer{
 			PublicKey:      peer.PublicKey.String(),