package models import ( "platform/web/core" "platform/web/globals/orm" "time" ) // Session 会话表 type Session struct { core.Model UserID *int32 `json:"user_id,omitempty" gorm:"column:user_id"` // 用户ID AdminID *int32 `json:"admin_id,omitempty" gorm:"column:admin_id"` // 管理员ID ClientID *int32 `json:"client_id,omitempty" gorm:"column:client_id"` // 客户端ID IP *orm.Inet `json:"ip,omitempty" gorm:"column:ip"` // IP地址 UA *string `json:"ua,omitempty" gorm:"column:ua"` // 用户代理 AccessToken string `json:"access_token" gorm:"column:access_token"` // 访问令牌 AccessTokenExpires time.Time `json:"access_token_expires" gorm:"column:access_token_expires"` // 访问令牌过期时间 RefreshToken *string `json:"refresh_token,omitempty" gorm:"column:refresh_token"` // 刷新令牌 RefreshTokenExpires *time.Time `json:"refresh_token_expires,omitempty" gorm:"column:refresh_token_expires"` // 刷新令牌过期时间 Scopes *string `json:"scopes,omitempty" gorm:"column:scopes"` // 权限范围 User *User `json:"user,omitempty" gorm:"foreignKey:UserID"` Admin *Admin `json:"admin,omitempty" gorm:"foreignKey:AdminID"` Client *Client `json:"client,omitempty" gorm:"foreignKey:ClientID;belongsTo:ID"` }