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 }