mirror of
https://github.com/gravitl/netmaker.git
synced 2025-02-27 09:36:08 +08:00
39 lines
1 KiB
Go
39 lines
1 KiB
Go
package logic
|
|
|
|
import (
|
|
"encoding/json"
|
|
|
|
"github.com/gravitl/netmaker/database"
|
|
"github.com/gravitl/netmaker/functions"
|
|
"github.com/gravitl/netmaker/models"
|
|
)
|
|
|
|
// GetExtPeersList - gets the ext peers lists
|
|
func GetExtPeersList(macaddress string, networkName string) ([]models.ExtPeersResponse, error) {
|
|
|
|
var peers []models.ExtPeersResponse
|
|
records, err := database.FetchRecords(database.EXT_CLIENT_TABLE_NAME)
|
|
|
|
if err != nil {
|
|
return peers, err
|
|
}
|
|
|
|
for _, value := range records {
|
|
var peer models.ExtPeersResponse
|
|
var extClient models.ExtClient
|
|
err = json.Unmarshal([]byte(value), &peer)
|
|
if err != nil {
|
|
functions.PrintUserLog(models.NODE_SERVER_NAME, "failed to unmarshal peer", 2)
|
|
continue
|
|
}
|
|
err = json.Unmarshal([]byte(value), &extClient)
|
|
if err != nil {
|
|
functions.PrintUserLog(models.NODE_SERVER_NAME, "failed to unmarshal ext client", 2)
|
|
continue
|
|
}
|
|
if extClient.Network == networkName && extClient.IngressGatewayID == macaddress {
|
|
peers = append(peers, peer)
|
|
}
|
|
}
|
|
return peers, err
|
|
}
|