enterprise/common/session/session.go

51 lines
985 B
Go

package session
import (
"enterprise/common/model"
)
var (
ContextSession = "session"
ContextRequest = "request"
ContextResponse = "response"
ContextHeader = "header"
ContextWriteEvent = "write_event"
ContextRefreshToken = "refresh_token"
)
type AdminHeader struct {
Token string `header:"x-token" 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 ""
}