Smail/backend/models/verification_rate_limit.go
smail f60d3b0880
Some checks are pending
Security Checks / security (push) Waiting to run
整理前后端与测试构建目录并完善配置和安全引导
统一 frontend、backend、test、test-log 和 out 目录,更新构建、部署及测试入口;纳入配置管理兼容与首次安全引导修复;排除本机配置、密钥和测试产物。
2026-09-05 19:19:52 +08:00

22 lines
1.0 KiB
Go

package models
import "time"
// VerificationRateLimit 保存限流计数,不保存验证码、挑战值或完整身份标识。
type VerificationRateLimit struct {
ID int `xorm:"id bigint unsigned not null pk autoincr" json:"-"`
DimensionKey string `xorm:"dimension_key char(64) notnull unique" json:"-"`
DimensionType string `xorm:"dimension_type varchar(32) notnull index" json:"-"`
HourStartedAt *time.Time `xorm:"hour_started_at datetime null" json:"-"`
HourCount int `xorm:"hour_count int notnull default(0)" json:"-"`
DayStartedAt *time.Time `xorm:"day_started_at datetime null" json:"-"`
DayCount int `xorm:"day_count int notnull default(0)" json:"-"`
LastIssuedAt *time.Time `xorm:"last_issued_at datetime null" json:"-"`
ExpiresAt time.Time `xorm:"expires_at datetime notnull index" json:"-"`
UpdatedAt time.Time `xorm:"updated_at datetime notnull index" json:"-"`
}
func (VerificationRateLimit) TableName() string {
return "verification_rate_limit"
}