check feature flags for auto join

This commit is contained in:
abhishek9686
2025-11-21 10:40:20 +04:00
parent 76f2e3a5cd
commit 610fc9815e
3 changed files with 13 additions and 2 deletions

View File

@@ -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
}

View File

@@ -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")

View File

@@ -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)