53 lines
3.1 KiB
Go
53 lines
3.1 KiB
Go
package model
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
type User struct {
|
|
ID int `gorm:"primaryKey;column:id" json:"id"`
|
|
ParentID *int `gorm:"column:parent_id" json:"parent_id"`
|
|
InviteUserID *int `gorm:"column:invite_user_id" json:"invite_user_id"`
|
|
TelegramID *int64 `gorm:"column:telegram_id" json:"telegram_id"`
|
|
Email string `gorm:"column:email;unique" json:"email"`
|
|
Password string `gorm:"column:password" json:"-"`
|
|
PasswordAlgo *string `gorm:"column:password_algo" json:"-"`
|
|
PasswordSalt *string `gorm:"column:password_salt" json:"-"`
|
|
Balance uint64 `gorm:"column:balance;default:0" json:"balance"`
|
|
Discount *int `gorm:"column:discount" json:"discount"`
|
|
CommissionType int `gorm:"column:commission_type;default:0" json:"commission_type"`
|
|
CommissionRate *int `gorm:"column:commission_rate" json:"commission_rate"`
|
|
CommissionBalance uint64 `gorm:"column:commission_balance;default:0" json:"commission_balance"`
|
|
T uint64 `gorm:"column:t;default:0" json:"t"`
|
|
U uint64 `gorm:"column:u;default:0" json:"u"`
|
|
D uint64 `gorm:"column:d;default:0" json:"d"`
|
|
TransferEnable uint64 `gorm:"column:transfer_enable;default:0" json:"transfer_enable"`
|
|
Banned bool `gorm:"column:banned" json:"banned"`
|
|
IsAdmin bool `gorm:"column:is_admin" json:"is_admin"`
|
|
IsStaff bool `gorm:"column:is_staff" json:"is_staff"`
|
|
LastLoginAt *int64 `gorm:"column:last_login_at" json:"last_login_at"`
|
|
LastLoginIP *int64 `gorm:"column:last_login_ip" json:"last_login_ip"`
|
|
UUID string `gorm:"column:uuid" json:"uuid"`
|
|
GroupID *int `gorm:"column:group_id" json:"group_id"`
|
|
PlanID *int `gorm:"column:plan_id" json:"plan_id"`
|
|
Plan *Plan `gorm:"foreignKey:PlanID" json:"plan"`
|
|
SpeedLimit *int `gorm:"column:speed_limit" json:"speed_limit"`
|
|
RemindExpire int `gorm:"column:remind_expire;default:1" json:"remind_expire"`
|
|
RemindTraffic int `gorm:"column:remind_traffic;default:1" json:"remind_traffic"`
|
|
Token string `gorm:"column:token" json:"token"`
|
|
ExpiredAt *int64 `gorm:"column:expired_at" json:"expired_at"`
|
|
Remarks *string `gorm:"column:remarks" json:"remarks"`
|
|
CreatedAt int64 `gorm:"column:created_at" json:"created_at"`
|
|
UpdatedAt int64 `gorm:"column:updated_at" json:"updated_at"`
|
|
DeviceLimit *int `gorm:"column:device_limit" json:"device_limit"`
|
|
OnlineCount *int `gorm:"column:online_count" json:"online_count"`
|
|
LastOnlineAt *time.Time `gorm:"column:last_online_at" json:"last_online_at"`
|
|
NextResetAt *int64 `gorm:"column:next_reset_at" json:"next_reset_at"`
|
|
LastResetAt *int64 `gorm:"column:last_reset_at" json:"last_reset_at"`
|
|
ResetCount int `gorm:"column:reset_count;default:0" json:"reset_count"`
|
|
}
|
|
|
|
func (User) TableName() string {
|
|
return "v2_user"
|
|
}
|