wip
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"GoMembership/internal/utils"
|
||||
"GoMembership/pkg/errors"
|
||||
"GoMembership/pkg/logger"
|
||||
"time"
|
||||
|
||||
@@ -46,3 +48,31 @@ func (v *Verification) Update(db *gorm.DB) error {
|
||||
func (v *Verification) Delete(db *gorm.DB) error {
|
||||
return db.Delete(&v).Error
|
||||
}
|
||||
|
||||
func (v *Verification) Validate() error {
|
||||
if v.VerifiedAt != nil {
|
||||
return errors.ErrAlreadyVerified
|
||||
}
|
||||
|
||||
t := time.Now()
|
||||
v.VerifiedAt = &t
|
||||
return nil
|
||||
}
|
||||
|
||||
func CreateVerification(verificationType string) (*Verification, error) {
|
||||
token, err := GenerateVerificationToken()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
v := Verification{
|
||||
UserID: 0,
|
||||
VerificationToken: token,
|
||||
Type: verificationType,
|
||||
}
|
||||
|
||||
return &v, nil
|
||||
}
|
||||
|
||||
func GenerateVerificationToken() (string, error) {
|
||||
return utils.GenerateRandomString(32)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user