diff --git a/src/main/kotlin/roomescape/member/business/MemberService.kt b/src/main/kotlin/roomescape/member/business/MemberService.kt index 1ab7afa2..7df26417 100644 --- a/src/main/kotlin/roomescape/member/business/MemberService.kt +++ b/src/main/kotlin/roomescape/member/business/MemberService.kt @@ -5,7 +5,6 @@ import org.springframework.stereotype.Service import org.springframework.transaction.annotation.Transactional import roomescape.member.implement.MemberFinder import roomescape.member.implement.MemberWriter -import roomescape.member.infrastructure.persistence.MemberEntity import roomescape.member.infrastructure.persistence.Role import roomescape.member.web.* @@ -26,11 +25,14 @@ class MemberService( } @Transactional(readOnly = true) - fun findById(memberId: Long): MemberEntity { - log.debug { "[MemberService.findById] 시작" } + fun findSummaryById(id: Long): MemberSummaryRetrieveResponse { + log.debug { "[MemberService.findSummaryById] 시작" } - return memberFinder.findById(memberId) - .also { log.info { "[MemberService.findById] 완료. memberId=${memberId}, email=${it.email}" } } + return memberFinder.findById(id) + .toSummaryRetrieveResponse() + .also { + log.info { "[MemberService.findSummaryById] 완료. memberId=${id}, email=${it.email}" } + } } @Transactional diff --git a/src/main/kotlin/roomescape/member/web/MemberDTO.kt b/src/main/kotlin/roomescape/member/web/MemberDTO.kt index 1d36e37e..c1a77927 100644 --- a/src/main/kotlin/roomescape/member/web/MemberDTO.kt +++ b/src/main/kotlin/roomescape/member/web/MemberDTO.kt @@ -2,6 +2,7 @@ package roomescape.member.web import io.swagger.v3.oas.annotations.media.Schema import roomescape.member.infrastructure.persistence.MemberEntity +import roomescape.member.infrastructure.persistence.Role fun MemberEntity.toRetrieveResponse(): MemberRetrieveResponse = MemberRetrieveResponse( id = id!!, @@ -39,3 +40,17 @@ fun MemberEntity.toSignupResponse(): SignupResponse = SignupResponse( id = this.id!!, name = this.name ) + +data class MemberSummaryRetrieveResponse( + val id: Long, + val name: String, + val email: String, + val role: Role +) + +fun MemberEntity.toSummaryRetrieveResponse() = MemberSummaryRetrieveResponse( + id = this.id!!, + name = this.name, + email = this.email, + role = this.role +)