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