github.com/infraboard/keyauth@v0.8.1/apps/tag/tag_ext.go (about) 1 package tag 2 3 import ( 4 "github.com/infraboard/mcube/types/ftime" 5 6 "github.com/infraboard/keyauth/common/tools" 7 ) 8 9 // New 新创建一个Role 10 func New(req *CreateTagRequest) (*TagKey, error) { 11 if err := req.Validate(); err != nil { 12 return nil, err 13 } 14 15 r := &TagKey{ 16 Id: req.GenUUID(), 17 CreateAt: ftime.Now().Timestamp(), 18 UpdateAt: ftime.Now().Timestamp(), 19 Domain: req.Domain, 20 Creater: req.Creater, 21 ScopeType: req.ScopeType, 22 Namespace: req.Namespace, 23 KeyName: req.KeyName, 24 KeyLabel: req.KeyLabel, 25 KeyDesc: req.KeyDesc, 26 } 27 28 for i := range req.Values { 29 r.Values = append(r.Values, &TagValue{ 30 Id: tools.GenHashID(r.Id + req.Values[i].Value), 31 CreateAt: ftime.Now().Timestamp(), 32 UpdateAt: ftime.Now().Timestamp(), 33 Creater: req.Creater, 34 KeyId: r.Id, 35 Value: req.Values[i], 36 }) 37 } 38 return r, nil 39 } 40 41 // NewTagKeySet 实例化make 42 func NewTagKeySet() *TagKeySet { 43 return &TagKeySet{ 44 Items: []*TagKey{}, 45 } 46 } 47 48 // Add todo 49 func (s *TagKeySet) Add(item *TagKey) { 50 s.Items = append(s.Items, item) 51 } 52 53 func NewDefaultTagKey() *TagKey { 54 return &TagKey{} 55 } 56 57 // NewTagValueSet 实例化make 58 func NewTagValueSet() *TagValueSet { 59 return &TagValueSet{ 60 Items: []*TagValue{}, 61 } 62 } 63 64 // Add todo 65 func (s *TagValueSet) Add(item *TagValue) { 66 s.Items = append(s.Items, item) 67 } 68 69 func NewDefaultTagValue() *TagValue { 70 return &TagValue{} 71 } 72 73 // NewCreateTagRequest 实例化请求 74 func NewCreateTagRequest() *CreateTagRequest { 75 return &CreateTagRequest{ 76 Values: []*ValueOption{}, 77 HttpFromOption: &HTTPFromOption{}, 78 } 79 }