generated from pricelees/issue-pr-template
23 lines
769 B
Kotlin
23 lines
769 B
Kotlin
package roomescape.member.implement
|
|
|
|
import io.github.oshai.kotlinlogging.KLogger
|
|
import io.github.oshai.kotlinlogging.KotlinLogging
|
|
import org.springframework.stereotype.Component
|
|
import roomescape.member.exception.MemberErrorCode
|
|
import roomescape.member.exception.MemberException
|
|
import roomescape.member.infrastructure.persistence.MemberRepository
|
|
|
|
private val log: KLogger = KotlinLogging.logger {}
|
|
|
|
@Component
|
|
class MemberValidator(
|
|
private val memberRepository: MemberRepository
|
|
) {
|
|
fun validateCanSignup(email: String) {
|
|
if (memberRepository.existsByEmail(email)) {
|
|
log.info { "[MemberValidator.validateCanSignup] 중복 이메일: email=$email" }
|
|
throw MemberException(MemberErrorCode.DUPLICATE_EMAIL)
|
|
}
|
|
}
|
|
}
|