mirror of
https://github.com/Dvorinka/MyClubServer.git
synced 2026-06-04 02:32:57 +00:00
25 lines
977 B
Go
25 lines
977 B
Go
package models
|
|
|
|
import (
|
|
"time"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// PasswordReset stores password reset tokens, verification codes, and their status
|
|
type PasswordReset struct {
|
|
gorm.Model
|
|
UserID uint `gorm:"index;not null" json:"user_id"`
|
|
User User `gorm:"foreignKey:UserID" json:"-"`
|
|
Token string `gorm:"uniqueIndex;size:128;not null" json:"token"`
|
|
ExpiresAt time.Time `gorm:"index;not null" json:"expires_at"`
|
|
UsedAt *time.Time `json:"used_at"`
|
|
IP string `json:"ip"`
|
|
UserAgent string `json:"user_agent"`
|
|
VerificationCode string `gorm:"size:6" json:"-"`
|
|
VerificationCodeExpires *time.Time `json:"verification_code_expires_at"`
|
|
VerificationAttempts int `gorm:"default:0" json:"verification_attempts"`
|
|
}
|
|
|
|
func (PasswordReset) TableName() string { return "password_resets" }
|