12345678910111213141516171819202122232425262728 |
- package model
- import "gorm.io/gorm"
- type Auth struct {
- Model
- Name string `json:"name"`
- Password string `json:"-"`
- Status bool `json:"status" gorm:"default:1"`
- OTPSecret []byte `json:"-" gorm:"type:blob"`
- Enabled2FA bool `json:"enabled_2fa" gorm:"-"`
- }
- type AuthToken struct {
- UserID int `json:"user_id"`
- Token string `json:"token"`
- ExpiredAt int64 `json:"expired_at" gorm:"default:0"`
- }
- func (u *Auth) AfterFind(tx *gorm.DB) error {
- u.Enabled2FA = u.EnabledOTP()
- return nil
- }
- func (u *Auth) EnabledOTP() bool {
- return len(u.OTPSecret) != 0
- }
|