基本功能已初步完善
Some checks failed
build / build (api, amd64, linux) (push) Has been cancelled
build / build (api, arm64, linux) (push) Has been cancelled
build / build (api.exe, amd64, windows) (push) Has been cancelled

This commit is contained in:
CN-JS-HuiBai
2026-04-17 20:41:47 +08:00
parent 25fd919477
commit b3435e5ef8
34 changed files with 3495 additions and 429 deletions

View File

@@ -0,0 +1,21 @@
package model
type UserIPv6Subscription struct {
ID uint64 `gorm:"primaryKey;column:id" json:"id"`
UserID int `gorm:"column:user_id;uniqueIndex:idx_user_ipv6_subscription_user" json:"user_id"`
ShadowUserID *int `gorm:"column:shadow_user_id;index:idx_user_ipv6_subscription_shadow" json:"shadow_user_id"`
IPv6Email string `gorm:"column:ipv6_email;size:191" json:"ipv6_email"`
Allowed bool `gorm:"column:allowed;default:false" json:"allowed"`
Status string `gorm:"column:status;size:32;index:idx_user_ipv6_subscription_status" json:"status"`
LastSyncAt int64 `gorm:"column:last_sync_at" json:"last_sync_at"`
PasswordSyncedAt *int64 `gorm:"column:password_synced_at" json:"password_synced_at"`
CreatedAt int64 `gorm:"column:created_at" json:"created_at"`
UpdatedAt int64 `gorm:"column:updated_at" json:"updated_at"`
User User `gorm:"foreignKey:UserID;references:ID" json:"user"`
ShadowUser *User `gorm:"foreignKey:ShadowUserID;references:ID" json:"shadow_user"`
}
func (UserIPv6Subscription) TableName() string {
return "v2_user_ipv6_subscriptions"
}

View File

@@ -0,0 +1,19 @@
package model
type UserOnlineDevice struct {
ID uint64 `gorm:"primaryKey;column:id" json:"id"`
UserID int `gorm:"column:user_id;index:idx_user_online_devices_user;uniqueIndex:idx_user_online_devices_unique" json:"user_id"`
NodeID int `gorm:"column:node_id;index:idx_user_online_devices_node;uniqueIndex:idx_user_online_devices_unique" json:"node_id"`
IP string `gorm:"column:ip;size:191;uniqueIndex:idx_user_online_devices_unique" json:"ip"`
FirstSeenAt int64 `gorm:"column:first_seen_at" json:"first_seen_at"`
LastSeenAt int64 `gorm:"column:last_seen_at;index:idx_user_online_devices_last_seen" json:"last_seen_at"`
ExpiresAt int64 `gorm:"column:expires_at;index:idx_user_online_devices_expires" json:"expires_at"`
CreatedAt int64 `gorm:"column:created_at" json:"created_at"`
UpdatedAt int64 `gorm:"column:updated_at" json:"updated_at"`
User User `gorm:"foreignKey:UserID;references:ID" json:"user"`
}
func (UserOnlineDevice) TableName() string {
return "v2_user_online_devices"
}