package model import ( "time" "github.com/google/uuid" "gorm.io/gorm" ) type WebUser struct { ID uuid.UUID `gorm:"type:uuid;default:gen_random_uuid();primaryKey" json:"id"` UID string `json:"uid"` Username string `json:"username"` Account string `json:"account"` AvatarURL string `json:"avatar_url"` AvatarKey string `json:"-"` PasswordHash string `json:"-"` PointBalance string `gorm:"column:point_balance" json:"point_balance"` DailyLimit string `json:"daily_limit"` Enabled bool `json:"enabled"` SessionVersion int64 `json:"-"` LastOnlineAt *time.Time `json:"last_online_at"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt gorm.DeletedAt `json:"-"` } type WebRefreshToken struct { ID uuid.UUID `gorm:"type:uuid;default:gen_random_uuid();primaryKey"` UserID uuid.UUID `gorm:"type:uuid"` TokenHash string SessionVersion int64 ExpiresAt time.Time RevokedAt *time.Time CreatedAt time.Time } func (WebUser) TableName() string { return "web_users" } func (WebRefreshToken) TableName() string { return "web_refresh_tokens" }