Преглед на файлове

check feature flags for auto join

abhishek9686 преди 3 седмици
родител
ревизия
610fc9815e
променени са 3 файла, в които са добавени 13 реда и са изтрити 2 реда
  1. 2 1
      auth/host_session.go
  2. 4 0
      controllers/network.go
  3. 7 1
      logic/networks.go

+ 2 - 1
auth/host_session.go

@@ -242,9 +242,10 @@ func SessionHandler(conn *websocket.Conn) {
 // CheckNetRegAndHostUpdate - run through networks and send a host update
 func CheckNetRegAndHostUpdate(key models.EnrollmentKey, h *models.Host, username string) {
 	// publish host update through MQ
+	featureFlags := logic.GetFeatureFlags()
 	for _, netID := range key.Networks {
 		if network, err := logic.GetNetwork(netID); err == nil {
-			if network.AutoJoin == "false" {
+			if featureFlags.EnableDeviceApproval && network.AutoJoin == "false" {
 				if logic.DoesHostExistinTheNetworkAlready(h, models.NetworkID(netID)) {
 					continue
 				}

+ 4 - 0
controllers/network.go

@@ -597,6 +597,10 @@ func createNetwork(w http.ResponseWriter, r *http.Request) {
 		logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest"))
 		return
 	}
+	featureFlags := logic.GetFeatureFlags()
+	if !featureFlags.EnableDeviceApproval {
+		network.AutoJoin = "true"
+	}
 
 	if len(network.NetID) > 32 {
 		err := errors.New("network name shouldn't exceed 32 characters")

+ 7 - 1
logic/networks.go

@@ -650,7 +650,13 @@ func UpdateNetwork(currentNetwork *models.Network, newNetwork *models.Network) e
 	if newNetwork.NetID != currentNetwork.NetID {
 		return errors.New("failed to update network " + newNetwork.NetID + ", cannot change netid.")
 	}
-	currentNetwork.AutoJoin = newNetwork.AutoJoin
+	featureFlags := GetFeatureFlags()
+	if featureFlags.EnableDeviceApproval {
+		currentNetwork.AutoJoin = newNetwork.AutoJoin
+	} else {
+		currentNetwork.AutoJoin = "true"
+	}
+
 	currentNetwork.DefaultACL = newNetwork.DefaultACL
 	currentNetwork.NameServers = newNetwork.NameServers
 	data, err := json.Marshal(currentNetwork)