From 9cf2ad4fc5d992dce55f1255ccc8f9b75edab5ae Mon Sep 17 00:00:00 2001 From: abhishek9686 Date: Thu, 6 Feb 2025 15:14:15 +0400 Subject: [PATCH] add color coding to tags --- controllers/tags.go | 9 +++++++++ models/acl.go | 1 + models/tags.go | 3 +++ 3 files changed, 13 insertions(+) diff --git a/controllers/tags.go b/controllers/tags.go index f494d7b0..054efe51 100644 --- a/controllers/tags.go +++ b/controllers/tags.go @@ -88,6 +88,7 @@ func createTag(w http.ResponseWriter, r *http.Request) { TagName: req.TagName, Network: req.Network, CreatedBy: user.UserName, + ColorCode: req.ColorCode, CreatedAt: time.Now(), } _, err = logic.GetTag(tag.ID) @@ -182,6 +183,14 @@ func updateTag(w http.ResponseWriter, r *http.Request) { // delete old Tag entry logic.DeleteTag(updateTag.ID, false) } + if updateTag.ColorCode != "" && updateTag.ColorCode != tag.ColorCode { + tag.ColorCode = updateTag.ColorCode + err = logic.InsertTag(tag) + if err != nil { + logic.ReturnErrorResponse(w, r, logic.FormatError(err, "badrequest")) + return + } + } go func() { logic.UpdateTag(updateTag, newID) if updateTag.NewName != "" { diff --git a/models/acl.go b/models/acl.go index bd6524a1..2fd0aed2 100644 --- a/models/acl.go +++ b/models/acl.go @@ -59,6 +59,7 @@ const ( UserGroupAclID AclGroupType = "user-group" NodeTagID AclGroupType = "tag" NodeID AclGroupType = "device" + EgressRange AclGroupType = "egress-range" NetmakerIPAclID AclGroupType = "ip" NetmakerSubNetRangeAClID AclGroupType = "ipset" ) diff --git a/models/tags.go b/models/tags.go index 9fcb449d..1a4cebde 100644 --- a/models/tags.go +++ b/models/tags.go @@ -23,6 +23,7 @@ type Tag struct { ID TagID `json:"id"` TagName string `json:"tag_name"` Network NetworkID `json:"network"` + ColorCode string `json:"color_code"` CreatedBy string `json:"created_by"` CreatedAt time.Time `json:"created_at"` } @@ -30,6 +31,7 @@ type Tag struct { type CreateTagReq struct { TagName string `json:"tag_name"` Network NetworkID `json:"network"` + ColorCode string `json:"color_code"` TaggedNodes []ApiNode `json:"tagged_nodes"` } @@ -48,5 +50,6 @@ type TagListRespNodes struct { type UpdateTagReq struct { Tag NewName string `json:"new_name"` + ColorCode string `json:"color_code"` TaggedNodes []ApiNode `json:"tagged_nodes"` }