From 51671f280337b978632e4da28f3fdc32b525a7f7 Mon Sep 17 00:00:00 2001 From: pricelees Date: Mon, 4 Aug 2025 17:34:54 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20e92878a8=EC=97=90=20=EB=88=84=EB=9D=BD?= =?UTF-8?q?=EB=90=9C=20=EC=BD=94=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/implement/MemberValidator.kt | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/main/kotlin/roomescape/member/implement/MemberValidator.kt diff --git a/src/main/kotlin/roomescape/member/implement/MemberValidator.kt b/src/main/kotlin/roomescape/member/implement/MemberValidator.kt new file mode 100644 index 00000000..402d3168 --- /dev/null +++ b/src/main/kotlin/roomescape/member/implement/MemberValidator.kt @@ -0,0 +1,22 @@ +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) + } + } +}