github.com/SupenBysz/gf-admin-community@v0.7.4/utility/permission/permission.go (about)

     1  package permission
     2  
     3  import (
     4  	"github.com/SupenBysz/gf-admin-community/sys_model"
     5  	"github.com/SupenBysz/gf-admin-community/sys_model/sys_entity"
     6  	"github.com/SupenBysz/gf-admin-community/utility/idgen"
     7  	"github.com/kysion/base-library/utility/base_permission"
     8  )
     9  
    10  func initFactory() {
    11  	if base_permission.Factory == nil {
    12  		base_permission.Factory = func() base_permission.IPermission {
    13  			return &sys_model.SysPermissionTree{
    14  				SysPermission: &sys_entity.SysPermission{},
    15  			}
    16  		}
    17  	}
    18  }
    19  
    20  func New(id int64, identifier string, name string, description ...string) base_permission.IPermission {
    21  	var desc string
    22  	if len(description) > 0 {
    23  		desc = description[0]
    24  	}
    25  
    26  	initFactory()
    27  
    28  	return base_permission.Factory().SetId(id).SetIdentifier(identifier).SetName(name).SetDescription(desc)
    29  }
    30  
    31  // NewInIdentifier 构造权限信息
    32  func NewInIdentifier(identifier string, name string, description ...string) base_permission.IPermission {
    33  	var desc string
    34  
    35  	if len(description) > 0 {
    36  		desc = description[0]
    37  	}
    38  
    39  	initFactory()
    40  
    41  	return base_permission.Factory().SetId(idgen.NextId()).SetIdentifier(identifier).SetName(name).SetDescription(desc)
    42  }