mirror of
https://github.com/truewhile/MeBox.git
synced 2026-10-01 03:56:38 +08:00
添加新功能,完善项目
This commit is contained in:
@@ -55,6 +55,9 @@ type User struct {
|
||||
// expires. When set and in the past, the account is treated as expired
|
||||
// (login blocked) until an admin or a redemption code renews it.
|
||||
ExpiredAt *time.Time `json:"expired_at,omitempty"`
|
||||
// TelegramChatID 是用户绑定的 Telegram 会话 ID,用于接收账号与设备通知。
|
||||
// 为空表示未绑定;绑定走个人资料页生成的一次性码 + Bot /bind 命令。
|
||||
TelegramChatID string `gorm:"size:64" json:"telegram_chat_id,omitempty"`
|
||||
// ShareWarnings counts anti-account-sharing warnings, mainly device
|
||||
// fingerprint mismatches. Once it exceeds the configured threshold a
|
||||
// re-offence disables the account until an admin re-enables it.
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"sync"
|
||||
"testing"
|
||||
|
||||
"gorm.io/gorm/schema"
|
||||
)
|
||||
|
||||
// TelegramChatID 是 Telegram 通知的绑定目标:Size 必须容得下真实 chat id
|
||||
// (群/频道 id 为负数且位数更长),因此下限设为 64。
|
||||
func TestUserTelegramChatIDFieldSize(t *testing.T) {
|
||||
parsed, err := schema.Parse(&User{}, &sync.Map{}, schema.NamingStrategy{})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
field := parsed.LookUpField("TelegramChatID")
|
||||
if field == nil {
|
||||
t.Fatal("TelegramChatID field not found")
|
||||
}
|
||||
if field.Size < 64 {
|
||||
t.Fatalf("TelegramChatID size = %d, want at least 64", field.Size)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user