34 lines
1.5 KiB
Go
34 lines
1.5 KiB
Go
package models
|
|
|
|
import "time"
|
|
|
|
// VerificationEvent 保存邮箱验证码运营数据,不保存验证码、挑战值或校验值。
|
|
type VerificationEvent struct {
|
|
ID int `xorm:"id bigint unsigned not null pk autoincr" json:"-"`
|
|
UserID int `xorm:"user_id bigint not null default(0) index" json:"-"`
|
|
Purpose string `xorm:"purpose varchar(32) notnull index" json:"purpose"`
|
|
Action string `xorm:"action varchar(32) notnull index" json:"action"`
|
|
Outcome string `xorm:"outcome varchar(16) notnull index" json:"outcome"`
|
|
AccountFingerprint string `xorm:"account_fingerprint char(80) null" json:"-"`
|
|
EmailFingerprint string `xorm:"email_fingerprint char(80) null" json:"-"`
|
|
IPFingerprint string `xorm:"ip_fingerprint char(80) null" json:"-"`
|
|
ExpiresAt time.Time `xorm:"expires_at datetime notnull index" json:"-"`
|
|
RetentionClass string `xorm:"retention_class varchar(16) notnull index" json:"-"`
|
|
InvestigationHold bool `xorm:"investigation_hold bool notnull default(0) index" json:"-"`
|
|
CreatedAt time.Time `xorm:"created_at datetime notnull index" json:"created_at"`
|
|
}
|
|
|
|
func (VerificationEvent) TableName() string {
|
|
return "verification_event"
|
|
}
|
|
|
|
const (
|
|
VerificationActionIssue = "issue"
|
|
VerificationActionVerify = "verify"
|
|
VerificationActionCleanup = "cleanup"
|
|
|
|
VerificationOutcomeSuccess = "success"
|
|
VerificationOutcomeFailure = "failure"
|
|
VerificationOutcomeBlocked = "blocked"
|
|
)
|