github.com/infraboard/keyauth@v0.8.1/apps/namespace/namespace.go (about)

     1  package namespace
     2  
     3  import (
     4  	"github.com/go-playground/validator/v10"
     5  
     6  	"github.com/infraboard/keyauth/apps/token"
     7  )
     8  
     9  // use a single instance of Validate, it caches struct info
    10  var (
    11  	validater = validator.New()
    12  )
    13  
    14  // NewDefaultNamespace todo
    15  func NewDefaultNamespace() *Namespace {
    16  	return &Namespace{
    17  		Enabled: true,
    18  	}
    19  }
    20  
    21  // NewCreateNamespaceRequest todo
    22  func NewCreateNamespaceRequest() *CreateNamespaceRequest {
    23  	return &CreateNamespaceRequest{}
    24  }
    25  
    26  func (req *CreateNamespaceRequest) UpdateOwner(tk *token.Token) {
    27  	req.CreateBy = tk.Account
    28  	req.Domain = tk.Domain
    29  }
    30  
    31  // Validate todo
    32  func (req *CreateNamespaceRequest) Validate() error {
    33  	return validater.Struct(req)
    34  }
    35  
    36  // NewNamespaceSet 实例化
    37  func NewNamespaceSet() *Set {
    38  	return &Set{
    39  		Items: []*Namespace{},
    40  	}
    41  }
    42  
    43  // Add 添加应用
    44  func (s *Set) Add(item *Namespace) {
    45  	s.Items = append(s.Items, item)
    46  }