mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-05 08:47:35 +08:00
Fixed nil err in isempty record 2
This commit is contained in:
@@ -354,8 +354,8 @@ func deleteNetwork(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
func DeleteNetwork(network string) error {
|
||||
_, err := database.FetchRecords(database.NODES_TABLE_NAME)
|
||||
if database.IsEmptyRecord(err) {
|
||||
nodeCount, err := functions.GetNetworkNodeCount(network)
|
||||
if nodeCount == 0 || database.IsEmptyRecord(err) {
|
||||
return database.DeleteRecord(database.NETWORKS_TABLE_NAME, network)
|
||||
}
|
||||
return errors.New("node check failed. All nodes must be deleted before deleting network")
|
||||
|
@@ -323,6 +323,27 @@ func IsMacAddressUnique(macaddress string, networkName string) (bool, error) {
|
||||
return true, nil
|
||||
}
|
||||
|
||||
func GetNetworkNodeCount(networkName string) (int, error) {
|
||||
|
||||
collection, err := database.FetchRecords(database.NODES_TABLE_NAME)
|
||||
count := 0
|
||||
if err != nil && !database.IsEmptyRecord(err) {
|
||||
return count, err
|
||||
}
|
||||
for _, value := range collection {
|
||||
var node models.Node
|
||||
if err = json.Unmarshal([]byte(value), &node); err != nil {
|
||||
return count, err
|
||||
} else {
|
||||
if node.Network == networkName {
|
||||
count++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return count, nil
|
||||
}
|
||||
|
||||
//Checks to see if access key is valid
|
||||
//Does so by checking against all keys and seeing if any have the same value
|
||||
//may want to hash values before comparing...consider this
|
||||
|
Reference in New Issue
Block a user