package session import ( "enterprise/common/config" "enterprise/common/model" "reflect" ) var ( ContextSession = "session" ContextRequest = "request" ContextResponse = "response" ContextHeader = "header" ContextWriteEvent = "write_event" ContextRefreshToken = "refresh_token" ) type AdminHeader struct { Token string `header:"x-token" json:"-"` Host string `header:"x-host" json:"-"` RemoteIp string `header:"x-remote-ip" json:"public_ip"` } type AdminSession struct { adminHeader *AdminHeader adminUser *model.StaffUser } func NewAdminSession(header *AdminHeader, user *model.StaffUser) *AdminSession { return &AdminSession{ adminHeader: header, adminUser: user, } } func (s *AdminSession) GetHeader() *AdminHeader { return s.adminHeader } func (s *AdminSession) GetAdmin() *model.StaffUser { return s.adminUser } func (s *AdminSession) GetCorpId() int64 { return s.adminUser.CorpId } func (s *AdminSession) GetUsername() string { if s.adminUser != nil { return s.adminUser.Username } return "" } func CheckDBError(err error) { if err != nil { panic(config.ErrDb.New().Append(err)) } } func CheckParamError(err error) { if err != nil { panic(config.ErrParam.New().Append(err)) } } func CheckNilError(data interface{}, args ...string) { val := reflect.ValueOf(data) if val.IsNil() { panic(config.ErrNoData.New().Append(args)) } }