Bläddra i källkod

isolate tag updates for extclient and nodes

abhishek9686 10 månader sedan
förälder
incheckning
27f276a3fe
1 ändrade filer med 17 tillägg och 11 borttagningar
  1. 17 11
      logic/tags.go

+ 17 - 11
logic/tags.go

@@ -174,26 +174,32 @@ func UpdateTag(req models.UpdateTagReq, newID models.TagID) {
 				node.Tags = make(map[models.TagID]struct{})
 			}
 			if newID != "" {
-				node.Tags[newID] = struct{}{}
-				node.StaticNode.Tags[newID] = struct{}{}
-			} else {
-				node.Tags[req.ID] = struct{}{}
-				node.StaticNode.Tags[req.ID] = struct{}{}
-			}
-			if node.IsStatic {
-				SaveExtClient(&node.StaticNode)
+				if node.IsStatic {
+					node.StaticNode.Tags[newID] = struct{}{}
+					SaveExtClient(&node.StaticNode)
+				} else {
+					node.Tags[newID] = struct{}{}
+					UpsertNode(&node)
+				}
+
 			} else {
-				UpsertNode(&node)
+				if node.IsStatic {
+					node.StaticNode.Tags[req.ID] = struct{}{}
+					SaveExtClient(&node.StaticNode)
+				} else {
+					node.Tags[req.ID] = struct{}{}
+					UpsertNode(&node)
+				}
 			}
 		} else {
 			if newID != "" {
 				delete(node.Tags, req.ID)
 				delete(node.StaticNode.Tags, req.ID)
-				node.StaticNode.Tags[newID] = struct{}{}
-				node.Tags[newID] = struct{}{}
 				if node.IsStatic {
+					node.StaticNode.Tags[newID] = struct{}{}
 					SaveExtClient(&node.StaticNode)
 				} else {
+					node.Tags[newID] = struct{}{}
 					UpsertNode(&node)
 				}
 			}