Files
terminal/server/model/login_log.go
T

38 lines
1.3 KiB
Go

package model
import (
"next-terminal/server/common"
)
type LoginLog struct {
ID string `gorm:"primary_key,type:varchar(128)" json:"id"`
Username string `gorm:"index,type:varchar(200)" json:"username"`
ClientIP string `gorm:"type:varchar(200)" json:"clientIp"`
ClientUserAgent string `gorm:"type:varchar(500)" json:"-"`
UserAgent *UserAgent `gorm:"-" json:"userAgent"`
LoginTime common.JsonTime `json:"loginAt"`
LogoutTime common.JsonTime `json:"logoutTime"`
Remember bool `json:"remember"`
State string `gorm:"type:varchar(1)" json:"-"` // 成功 1 失败 0
Success bool `gorm:"-" json:"success"`
Reason string `gorm:"type:varchar(500)" json:"reason"`
Region string `gorm:"type:varchar(200)" json:"region"`
}
type UserAgent struct {
String string `json:"String"`
OS string `json:"OS"`
OSVersion string `json:"OSVersion"`
Name string `json:"Name"`
Version string `json:"Version"`
Device string `json:"Device"`
Mobile bool `json:"Mobile"`
Tablet bool `json:"Tablet"`
Desktop bool `json:"Desktop"`
Bot bool `json:"Bot"`
}
func (r *LoginLog) TableName() string {
return "login_logs"
}