package ddd.domain.validation.changeUsername import shared.exceptions.ChangeUsernameException import shared.validation.AbstractValidationHandler class EmailVerificationValidation : AbstractValidationHandler() { override fun validate(context: UsernameChangeContext) { if(context.user.rank.policy.requiresEmailVerification()){ val emailVerified = context.verificationService.isVerified(context.user.id, context.verificationCode) if (emailVerified) { throw ChangeUsernameException("验证码错误") } } next(context) } }