35 lines
911 B
Go
35 lines
911 B
Go
package spam
|
|
|
|
import (
|
|
"bbs-go/internal/models"
|
|
"bbs-go/internal/pkg/errs"
|
|
"bbs-go/internal/services"
|
|
)
|
|
|
|
type EmailVerifyStrategy struct{}
|
|
|
|
func (EmailVerifyStrategy) Name() string {
|
|
return "EmailVerifyStrategy"
|
|
}
|
|
|
|
func (EmailVerifyStrategy) CheckTopic(user *models.User, form models.CreateTopicForm) error {
|
|
if services.SysConfigService.IsCreateTopicEmailVerified() && !user.EmailVerified {
|
|
return errs.EmailNotVerified
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (EmailVerifyStrategy) CheckArticle(user *models.User, form models.CreateArticleForm) error {
|
|
if services.SysConfigService.IsCreateArticleEmailVerified() && !user.EmailVerified {
|
|
return errs.EmailNotVerified
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (EmailVerifyStrategy) CheckComment(user *models.User, form models.CreateCommentForm) error {
|
|
if services.SysConfigService.IsCreateCommentEmailVerified() && !user.EmailVerified {
|
|
return errs.EmailNotVerified
|
|
}
|
|
return nil
|
|
}
|