|
@@ -9,6 +9,7 @@ import (
|
|
|
|
|
|
"github.com/gravitl/netmaker/database"
|
|
|
"github.com/gravitl/netmaker/models"
|
|
|
+ "github.com/gravitl/netmaker/servercfg"
|
|
|
"golang.org/x/exp/slog"
|
|
|
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
|
|
|
)
|
|
@@ -78,21 +79,25 @@ func DeleteExtClient(network string, clientid string) error {
|
|
|
if err != nil {
|
|
|
return err
|
|
|
}
|
|
|
- deleteExtClientFromCache(key)
|
|
|
+ if servercfg.CacheEnabled() {
|
|
|
+ deleteExtClientFromCache(key)
|
|
|
+ }
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
// GetNetworkExtClients - gets the ext clients of given network
|
|
|
func GetNetworkExtClients(network string) ([]models.ExtClient, error) {
|
|
|
var extclients []models.ExtClient
|
|
|
- allextclients := getAllExtClientsFromCache()
|
|
|
- if len(allextclients) != 0 {
|
|
|
- for _, extclient := range allextclients {
|
|
|
- if extclient.Network == network {
|
|
|
- extclients = append(extclients, extclient)
|
|
|
+ if servercfg.CacheEnabled() {
|
|
|
+ allextclients := getAllExtClientsFromCache()
|
|
|
+ if len(allextclients) != 0 {
|
|
|
+ for _, extclient := range allextclients {
|
|
|
+ if extclient.Network == network {
|
|
|
+ extclients = append(extclients, extclient)
|
|
|
+ }
|
|
|
}
|
|
|
+ return extclients, nil
|
|
|
}
|
|
|
- return extclients, nil
|
|
|
}
|
|
|
records, err := database.FetchRecords(database.EXT_CLIENT_TABLE_NAME)
|
|
|
if err != nil {
|
|
@@ -109,7 +114,9 @@ func GetNetworkExtClients(network string) ([]models.ExtClient, error) {
|
|
|
}
|
|
|
key, err := GetRecordKey(extclient.ClientID, extclient.Network)
|
|
|
if err == nil {
|
|
|
- storeExtClientInCache(key, extclient)
|
|
|
+ if servercfg.CacheEnabled() {
|
|
|
+ storeExtClientInCache(key, extclient)
|
|
|
+ }
|
|
|
}
|
|
|
if extclient.Network == network {
|
|
|
extclients = append(extclients, extclient)
|
|
@@ -125,15 +132,19 @@ func GetExtClient(clientid string, network string) (models.ExtClient, error) {
|
|
|
if err != nil {
|
|
|
return extclient, err
|
|
|
}
|
|
|
- if extclient, ok := getExtClientFromCache(key); ok {
|
|
|
- return extclient, nil
|
|
|
+ if servercfg.CacheEnabled() {
|
|
|
+ if extclient, ok := getExtClientFromCache(key); ok {
|
|
|
+ return extclient, nil
|
|
|
+ }
|
|
|
}
|
|
|
data, err := database.FetchRecord(database.EXT_CLIENT_TABLE_NAME, key)
|
|
|
if err != nil {
|
|
|
return extclient, err
|
|
|
}
|
|
|
err = json.Unmarshal([]byte(data), &extclient)
|
|
|
- storeExtClientInCache(key, extclient)
|
|
|
+ if servercfg.CacheEnabled() {
|
|
|
+ storeExtClientInCache(key, extclient)
|
|
|
+ }
|
|
|
return extclient, err
|
|
|
}
|
|
|
|
|
@@ -230,7 +241,9 @@ func SaveExtClient(extclient *models.ExtClient) error {
|
|
|
if err = database.Insert(key, string(data), database.EXT_CLIENT_TABLE_NAME); err != nil {
|
|
|
return err
|
|
|
}
|
|
|
- storeExtClientInCache(key, *extclient)
|
|
|
+ if servercfg.CacheEnabled() {
|
|
|
+ storeExtClientInCache(key, *extclient)
|
|
|
+ }
|
|
|
return SetNetworkNodesLastModified(extclient.Network)
|
|
|
}
|
|
|
|