generated from pricelees/issue-pr-template
refactor: member 패키지 내 DTO 네이밍 통일 및 불필요하게 느껴지는 Schema 제거
This commit is contained in:
parent
a67111105b
commit
9681de5e88
@ -8,17 +8,17 @@ import roomescape.common.exception.ErrorType
|
||||
import roomescape.common.exception.RoomescapeException
|
||||
import roomescape.member.infrastructure.persistence.MemberEntity
|
||||
import roomescape.member.infrastructure.persistence.MemberRepository
|
||||
import roomescape.member.web.MembersResponse
|
||||
import roomescape.member.web.toResponse
|
||||
import roomescape.member.web.MemberRetrieveListResponse
|
||||
import roomescape.member.web.toRetrieveResponse
|
||||
|
||||
@Service
|
||||
@Transactional(readOnly = true)
|
||||
class MemberService(
|
||||
private val memberRepository: MemberRepository
|
||||
) {
|
||||
fun findAll(): MembersResponse = MembersResponse(
|
||||
fun findAll(): MemberRetrieveListResponse = MemberRetrieveListResponse(
|
||||
memberRepository.findAll()
|
||||
.map { it.toResponse() }
|
||||
.map { it.toRetrieveResponse() }
|
||||
.toList()
|
||||
)
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@ import io.swagger.v3.oas.annotations.tags.Tag
|
||||
import org.springframework.http.ResponseEntity
|
||||
import roomescape.auth.web.support.Admin
|
||||
import roomescape.common.dto.response.CommonApiResponse
|
||||
import roomescape.member.web.MembersResponse
|
||||
import roomescape.member.web.MemberRetrieveListResponse
|
||||
|
||||
@Tag(name = "2. 회원 API", description = "회원 정보를 관리할 때 사용합니다.")
|
||||
interface MemberAPI {
|
||||
@ -20,5 +20,5 @@ interface MemberAPI {
|
||||
useReturnTypeSchema = true
|
||||
)
|
||||
)
|
||||
fun findAll(): ResponseEntity<CommonApiResponse<MembersResponse>>
|
||||
fun findAll(): ResponseEntity<CommonApiResponse<MemberRetrieveListResponse>>
|
||||
}
|
||||
|
||||
@ -13,8 +13,8 @@ class MemberController(
|
||||
) : MemberAPI {
|
||||
|
||||
@GetMapping("/members")
|
||||
override fun findAll(): ResponseEntity<CommonApiResponse<MembersResponse>> {
|
||||
val response: MembersResponse = memberService.findAll()
|
||||
override fun findAll(): ResponseEntity<CommonApiResponse<MemberRetrieveListResponse>> {
|
||||
val response: MemberRetrieveListResponse = memberService.findAll()
|
||||
|
||||
return ResponseEntity.ok(CommonApiResponse(response))
|
||||
}
|
||||
|
||||
@ -3,22 +3,19 @@ package roomescape.member.web
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import roomescape.member.infrastructure.persistence.MemberEntity
|
||||
|
||||
fun MemberEntity.toResponse(): MemberResponse = MemberResponse(
|
||||
fun MemberEntity.toRetrieveResponse(): MemberRetrieveResponse = MemberRetrieveResponse(
|
||||
id = id!!,
|
||||
name = name
|
||||
)
|
||||
|
||||
@Schema(name = "회원 조회 응답", description = "회원 정보 조회 응답시 사용됩니다.")
|
||||
data class MemberResponse(
|
||||
@field:Schema(description = "회원의 고유 번호")
|
||||
data class MemberRetrieveResponse(
|
||||
@field:Schema(description = "회원 식별자")
|
||||
val id: Long,
|
||||
|
||||
@field:Schema(description = "회원의 이름")
|
||||
@field:Schema(description = "회원 이름")
|
||||
val name: String
|
||||
)
|
||||
|
||||
@Schema(name = "회원 목록 조회 응답", description = "모든 회원의 정보 조회 응답시 사용됩니다.")
|
||||
data class MembersResponse(
|
||||
@field:Schema(description = "모든 회원의 ID 및 이름")
|
||||
val members: List<MemberResponse>
|
||||
data class MemberRetrieveListResponse(
|
||||
val members: List<MemberRetrieveResponse>
|
||||
)
|
||||
|
||||
@ -2,8 +2,8 @@ package roomescape.reservation.web
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import roomescape.member.web.MemberResponse
|
||||
import roomescape.member.web.toResponse
|
||||
import roomescape.member.web.MemberRetrieveResponse
|
||||
import roomescape.member.web.toRetrieveResponse
|
||||
import roomescape.reservation.infrastructure.persistence.ReservationEntity
|
||||
import roomescape.reservation.infrastructure.persistence.ReservationStatus
|
||||
import roomescape.theme.web.ThemeResponse
|
||||
@ -55,7 +55,7 @@ data class ReservationResponse(
|
||||
|
||||
@field:Schema(description = "예약한 회원 정보")
|
||||
@field:JsonProperty("member")
|
||||
val member: MemberResponse,
|
||||
val member: MemberRetrieveResponse,
|
||||
|
||||
@field:Schema(description = "예약 시간 정보")
|
||||
@field:JsonProperty("time")
|
||||
@ -72,7 +72,7 @@ data class ReservationResponse(
|
||||
fun ReservationEntity.toCreateResponse(): ReservationResponse = ReservationResponse(
|
||||
id = this.id!!,
|
||||
date = this.date,
|
||||
member = this.member.toResponse(),
|
||||
member = this.member.toRetrieveResponse(),
|
||||
time = this.time.toCreateResponse(),
|
||||
theme = this.theme.toResponse(),
|
||||
status = this.reservationStatus
|
||||
|
||||
@ -8,7 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired
|
||||
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest
|
||||
import org.springframework.test.web.servlet.MockMvc
|
||||
import roomescape.member.web.MemberController
|
||||
import roomescape.member.web.MembersResponse
|
||||
import roomescape.member.web.MemberRetrieveListResponse
|
||||
import roomescape.util.MemberFixture
|
||||
import roomescape.util.RoomescapeApiTest
|
||||
import kotlin.random.Random
|
||||
@ -40,9 +40,9 @@ class MemberControllerTest(
|
||||
status { isOk() }
|
||||
}.andReturn().response.contentAsString
|
||||
|
||||
val response: MembersResponse = readValue(
|
||||
val response: MemberRetrieveListResponse = readValue(
|
||||
responseJson = result,
|
||||
valueType = MembersResponse::class.java
|
||||
valueType = MemberRetrieveListResponse::class.java
|
||||
)
|
||||
|
||||
assertSoftly(response.members) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user