enterprise/server/session/session.go

73 lines
1.4 KiB
Go

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))
}
}