github.com/SupenBysz/gf-admin-community@v0.7.4/sys_model/sys_enum/internal/user/event.go (about)

     1  package sys_enum_user
     2  
     3  import "github.com/kysion/base-library/utility/enum"
     4  
     5  type EventEnum enum.IEnumCode[int]
     6  
     7  type event struct {
     8  	BeforeCreate   EventEnum
     9  	AfterCreate    EventEnum
    10  	ChangePassword EventEnum
    11  	ResetPassword  EventEnum
    12  	ResetEmail     EventEnum
    13  }
    14  
    15  var Event = event{
    16  	BeforeCreate:   enum.New[EventEnum](2, "创建前"),
    17  	AfterCreate:    enum.New[EventEnum](4, "创建后"),
    18  	ChangePassword: enum.New[EventEnum](8, "修改密码"),
    19  	ResetPassword:  enum.New[EventEnum](16, "重置密码"),
    20  	ResetEmail:     enum.New[EventEnum](16, "重置邮箱"),
    21  }
    22  
    23  func (e event) New(code int, description string) EventEnum {
    24  	if (code&Event.BeforeCreate.Code()) == Event.BeforeCreate.Code() ||
    25  		(code&Event.AfterCreate.Code()) == Event.AfterCreate.Code() ||
    26  		(code&Event.ChangePassword.Code()) == Event.ChangePassword.Code() ||
    27  		(code&Event.ResetPassword.Code()) == Event.ResetPassword.Code() ||
    28  		(code&Event.ResetEmail.Code()) == Event.ResetEmail.Code() {
    29  		return enum.New[EventEnum](code, description)
    30  	}
    31  	panic("user.Event.New: error")
    32  }