包含 webapp(Next.js 用户端)、webapp-back(Go 后端)、 antdesign(管理后台)、landingpage(营销落地页)、 数据库 SQL 和配置文件。
28 lines
1.1 KiB
Go
28 lines
1.1 KiB
Go
package models
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
// User represents the users table
|
|
// Web3 native: wallet_address is the primary key (no numeric id, no auth_user_id)
|
|
type User struct {
|
|
WalletAddress string `gorm:"primaryKey;size:42" json:"wallet_address"`
|
|
Nickname string `gorm:"size:100" json:"nickname"`
|
|
Avatar string `gorm:"type:text" json:"avatar"`
|
|
Bio string `gorm:"type:text" json:"bio"`
|
|
ReferrerWallet *string `gorm:"size:42;index" json:"referrer_wallet,omitempty"`
|
|
InviteCode string `gorm:"size:20;unique;index" json:"invite_code"`
|
|
DirectInvitesCount int `gorm:"default:0" json:"direct_invites_count"`
|
|
MemberTier string `gorm:"size:50;default:'Bronze'" json:"member_tier"`
|
|
VIPLevel int `gorm:"default:1" json:"vip_level"`
|
|
TotalPoints int64 `gorm:"default:0" json:"total_points"`
|
|
GlobalRank *int `gorm:"index" json:"global_rank,omitempty"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
func (User) TableName() string {
|
|
return "users"
|
|
}
|