in internal/service/action/captcha_strategy.go [35:74]
func (cs *CaptchaService) ValidationStrategy(ctx context.Context, unit, actionType string) bool {
// If the captcha is not enabled, the verification is passed directly
if !plugin.CaptchaEnabled() {
return true
}
info, err := cs.captchaRepo.GetActionType(ctx, unit, actionType)
if err != nil {
log.Error(err)
return false
}
switch actionType {
case entity.CaptchaActionEmail:
return cs.CaptchaActionEmail(ctx, unit, info)
case entity.CaptchaActionPassword:
return cs.CaptchaActionPassword(ctx, unit, info)
case entity.CaptchaActionEditUserinfo:
return cs.CaptchaActionEditUserinfo(ctx, unit, info)
case entity.CaptchaActionQuestion:
return cs.CaptchaActionQuestion(ctx, unit, info)
case entity.CaptchaActionAnswer:
return cs.CaptchaActionAnswer(ctx, unit, info)
case entity.CaptchaActionComment:
return cs.CaptchaActionComment(ctx, unit, info)
case entity.CaptchaActionEdit:
return cs.CaptchaActionEdit(ctx, unit, info)
case entity.CaptchaActionInvitationAnswer:
return cs.CaptchaActionInvitationAnswer(ctx, unit, info)
case entity.CaptchaActionSearch:
return cs.CaptchaActionSearch(ctx, unit, info)
case entity.CaptchaActionReport:
return cs.CaptchaActionReport(ctx, unit, info)
case entity.CaptchaActionDelete:
return cs.CaptchaActionDelete(ctx, unit, info)
case entity.CaptchaActionVote:
return cs.CaptchaActionVote(ctx, unit, info)
}
//actionType not found
return false
}