mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-06 01:07:41 +08:00
Combined client + server code, Added HA ability, minor bug fixes
This commit is contained in:
@@ -6,10 +6,11 @@ import (
|
||||
"net/http"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/gravitl/netmaker/database"
|
||||
"github.com/gravitl/netmaker/dnslogic"
|
||||
"github.com/gravitl/netmaker/functions"
|
||||
"github.com/gravitl/netmaker/logic"
|
||||
"github.com/gravitl/netmaker/models"
|
||||
"github.com/gravitl/netmaker/servercfg"
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
@@ -267,7 +268,7 @@ func getNetworkNodes(w http.ResponseWriter, r *http.Request) {
|
||||
var nodes []models.Node
|
||||
var params = mux.Vars(r)
|
||||
networkName := params["network"]
|
||||
nodes, err := GetNetworkNodes(networkName)
|
||||
nodes, err := logic.GetNetworkNodes(networkName)
|
||||
if err != nil {
|
||||
returnErrorResponse(w, r, formatError(err, "internal"))
|
||||
return
|
||||
@@ -279,29 +280,6 @@ func getNetworkNodes(w http.ResponseWriter, r *http.Request) {
|
||||
json.NewEncoder(w).Encode(nodes)
|
||||
}
|
||||
|
||||
func GetNetworkNodes(network string) ([]models.Node, error) {
|
||||
var nodes []models.Node
|
||||
collection, err := database.FetchRecords(database.NODES_TABLE_NAME)
|
||||
if err != nil {
|
||||
if database.IsEmptyRecord(err) {
|
||||
return []models.Node{}, nil
|
||||
}
|
||||
return nodes, err
|
||||
}
|
||||
for _, value := range collection {
|
||||
|
||||
var node models.Node
|
||||
err := json.Unmarshal([]byte(value), &node)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
if node.Network == network {
|
||||
nodes = append(nodes, node)
|
||||
}
|
||||
}
|
||||
return nodes, nil
|
||||
}
|
||||
|
||||
//A separate function to get all nodes, not just nodes for a particular network.
|
||||
//Not quite sure if this is necessary. Probably necessary based on front end but may want to review after iteration 1 if it's being used or not
|
||||
func getAllNodes(w http.ResponseWriter, r *http.Request) {
|
||||
@@ -335,7 +313,7 @@ func getUsersNodes(user models.User) ([]models.Node, error) {
|
||||
var nodes []models.Node
|
||||
var err error
|
||||
for _, networkName := range user.Networks {
|
||||
tmpNodes, err := GetNetworkNodes(networkName)
|
||||
tmpNodes, err := logic.GetNetworkNodes(networkName)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
@@ -437,7 +415,7 @@ func createNode(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
}
|
||||
|
||||
node, err = CreateNode(node, networkName)
|
||||
node, err = logic.CreateNode(node, networkName)
|
||||
if err != nil {
|
||||
returnErrorResponse(w, r, formatError(err, "internal"))
|
||||
return
|
||||
@@ -682,7 +660,7 @@ func CreateIngressGateway(netid string, macaddress string) (models.Node, error)
|
||||
if err != nil {
|
||||
return models.Node{}, err
|
||||
}
|
||||
err = SetNetworkNodesLastModified(netid)
|
||||
err = logic.SetNetworkNodesLastModified(netid)
|
||||
return node, err
|
||||
}
|
||||
|
||||
@@ -733,7 +711,7 @@ func DeleteIngressGateway(networkName string, macaddress string) (models.Node, e
|
||||
if err != nil {
|
||||
return models.Node{}, err
|
||||
}
|
||||
err = SetNetworkNodesLastModified(networkName)
|
||||
err = logic.SetNetworkNodesLastModified(networkName)
|
||||
return node, err
|
||||
}
|
||||
|
||||
@@ -783,7 +761,7 @@ func updateNode(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
if servercfg.IsDNSMode() {
|
||||
err = SetDNS()
|
||||
err = dnslogic.SetDNS()
|
||||
}
|
||||
if err != nil {
|
||||
returnErrorResponse(w, r, formatError(err, "internal"))
|
||||
|
Reference in New Issue
Block a user