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  }