generated from pricelees/issue-pr-template
[#48] Tosspay mocking 서버 구현을 위한 멀티모듈 전환 #49
@ -1,17 +1,16 @@
|
||||
package com.sangdol.roomescape.admin.business
|
||||
|
||||
import com.sangdol.common.types.audit.Auditor
|
||||
import com.sangdol.roomescape.admin.exception.AdminErrorCode
|
||||
import com.sangdol.roomescape.admin.exception.AdminException
|
||||
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminRepository
|
||||
import com.sangdol.roomescape.common.dto.AdminLoginCredentials
|
||||
import com.sangdol.roomescape.common.dto.toCredentials
|
||||
import io.github.oshai.kotlinlogging.KLogger
|
||||
import io.github.oshai.kotlinlogging.KotlinLogging
|
||||
import org.springframework.data.repository.findByIdOrNull
|
||||
import org.springframework.stereotype.Service
|
||||
import org.springframework.transaction.annotation.Transactional
|
||||
import com.sangdol.roomescape.admin.exception.AdminErrorCode
|
||||
import com.sangdol.roomescape.admin.exception.AdminException
|
||||
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminRepository
|
||||
import com.sangdol.roomescape.common.dto.AdminLoginCredentials
|
||||
import com.sangdol.roomescape.common.dto.AuditConstant
|
||||
import com.sangdol.roomescape.common.dto.OperatorInfo
|
||||
import com.sangdol.roomescape.common.dto.toCredentials
|
||||
|
||||
private val log: KLogger = KotlinLogging.logger {}
|
||||
|
||||
@ -35,16 +34,16 @@ class AdminService(
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
fun findOperatorOrUnknown(id: Long): OperatorInfo {
|
||||
fun findOperatorOrUnknown(id: Long): Auditor {
|
||||
log.info { "[AdminService.findOperatorById] 작업자 정보 조회 시작: id=${id}" }
|
||||
|
||||
return adminRepository.findByIdOrNull(id)?.let { admin ->
|
||||
OperatorInfo(admin.id, admin.name).also {
|
||||
Auditor(admin.id, admin.name).also {
|
||||
log.info { "[AdminService.findOperatorById] 작업자 정보 조회 완료: id=${admin.id}, name=${admin.name}" }
|
||||
}
|
||||
} ?: run {
|
||||
log.warn { "[AdminService.findOperatorById] 작업자 정보 조회 실패. id=${id}" }
|
||||
AuditConstant.UNKNOWN_OPERATOR
|
||||
Auditor.UNKNOWN
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,11 @@
|
||||
package com.sangdol.roomescape.auth.docs
|
||||
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.auth.web.LoginRequest
|
||||
import com.sangdol.roomescape.auth.web.LoginSuccessResponse
|
||||
import com.sangdol.roomescape.auth.web.support.Public
|
||||
import com.sangdol.roomescape.auth.web.support.User
|
||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||
import io.swagger.v3.oas.annotations.Operation
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses
|
||||
@ -8,12 +14,6 @@ import jakarta.servlet.http.HttpServletResponse
|
||||
import jakarta.validation.Valid
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.RequestBody
|
||||
import com.sangdol.roomescape.auth.web.LoginRequest
|
||||
import com.sangdol.roomescape.auth.web.LoginSuccessResponse
|
||||
import com.sangdol.roomescape.auth.web.support.Public
|
||||
import com.sangdol.roomescape.auth.web.support.User
|
||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
|
||||
interface AuthAPI {
|
||||
|
||||
|
||||
@ -1,16 +1,16 @@
|
||||
package com.sangdol.roomescape.auth.web
|
||||
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.auth.business.AuthService
|
||||
import com.sangdol.roomescape.auth.docs.AuthAPI
|
||||
import com.sangdol.roomescape.auth.web.support.User
|
||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||
import jakarta.servlet.http.HttpServletRequest
|
||||
import jakarta.servlet.http.HttpServletResponse
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.PostMapping
|
||||
import org.springframework.web.bind.annotation.RequestMapping
|
||||
import org.springframework.web.bind.annotation.RestController
|
||||
import com.sangdol.roomescape.auth.business.AuthService
|
||||
import com.sangdol.roomescape.auth.docs.AuthAPI
|
||||
import com.sangdol.roomescape.auth.web.support.User
|
||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/auth")
|
||||
|
||||
@ -8,7 +8,6 @@ import com.sangdol.roomescape.auth.web.LoginSuccessResponse
|
||||
import com.sangdol.roomescape.auth.web.UserLoginSuccessResponse
|
||||
import com.sangdol.roomescape.user.infrastructure.persistence.UserEntity
|
||||
|
||||
|
||||
abstract class LoginCredentials {
|
||||
abstract val id: Long
|
||||
abstract val password: String
|
||||
|
||||
@ -3,9 +3,9 @@ package com.sangdol.roomescape.common.exception
|
||||
import com.sangdol.common.types.exception.CommonErrorCode
|
||||
import com.sangdol.common.types.exception.ErrorCode
|
||||
import com.sangdol.common.types.exception.RoomescapeException
|
||||
import com.sangdol.common.types.web.CommonErrorResponse
|
||||
import com.sangdol.common.types.web.HttpStatus
|
||||
import com.sangdol.roomescape.auth.exception.AuthException
|
||||
import com.sangdol.roomescape.common.dto.response.CommonErrorResponse
|
||||
import com.sangdol.roomescape.common.log.ApiLogMessageConverter
|
||||
import com.sangdol.roomescape.common.log.ConvertResponseMessageRequest
|
||||
import com.sangdol.roomescape.common.log.LogType
|
||||
|
||||
@ -1,5 +1,12 @@
|
||||
package com.sangdol.roomescape.payment.docs
|
||||
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.auth.web.support.User
|
||||
import com.sangdol.roomescape.auth.web.support.UserOnly
|
||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||
import com.sangdol.roomescape.payment.web.PaymentCancelRequest
|
||||
import com.sangdol.roomescape.payment.web.PaymentConfirmRequest
|
||||
import com.sangdol.roomescape.payment.web.PaymentCreateResponse
|
||||
import io.swagger.v3.oas.annotations.Operation
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses
|
||||
@ -7,13 +14,6 @@ import jakarta.validation.Valid
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.RequestBody
|
||||
import org.springframework.web.bind.annotation.RequestParam
|
||||
import com.sangdol.roomescape.auth.web.support.User
|
||||
import com.sangdol.roomescape.auth.web.support.UserOnly
|
||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
import com.sangdol.roomescape.payment.web.PaymentCancelRequest
|
||||
import com.sangdol.roomescape.payment.web.PaymentConfirmRequest
|
||||
import com.sangdol.roomescape.payment.web.PaymentCreateResponse
|
||||
|
||||
interface PaymentAPI {
|
||||
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
package com.sangdol.roomescape.payment.web
|
||||
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.auth.web.support.User
|
||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||
import com.sangdol.roomescape.payment.business.PaymentService
|
||||
import com.sangdol.roomescape.payment.docs.PaymentAPI
|
||||
import jakarta.validation.Valid
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.*
|
||||
import com.sangdol.roomescape.auth.web.support.User
|
||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
import com.sangdol.roomescape.payment.business.PaymentService
|
||||
import com.sangdol.roomescape.payment.docs.PaymentAPI
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/payments")
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
package com.sangdol.roomescape.region.docs
|
||||
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.auth.web.support.Public
|
||||
import com.sangdol.roomescape.region.web.RegionCodeResponse
|
||||
import com.sangdol.roomescape.region.web.SidoListResponse
|
||||
import com.sangdol.roomescape.region.web.SigunguListResponse
|
||||
import io.swagger.v3.oas.annotations.Operation
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.RequestParam
|
||||
import com.sangdol.roomescape.auth.web.support.Public
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
import com.sangdol.roomescape.region.web.RegionCodeResponse
|
||||
import com.sangdol.roomescape.region.web.SidoListResponse
|
||||
import com.sangdol.roomescape.region.web.SigunguListResponse
|
||||
|
||||
interface RegionAPI {
|
||||
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
package com.sangdol.roomescape.region.web
|
||||
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.region.business.RegionService
|
||||
import com.sangdol.roomescape.region.docs.RegionAPI
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.GetMapping
|
||||
import org.springframework.web.bind.annotation.RequestMapping
|
||||
import org.springframework.web.bind.annotation.RequestParam
|
||||
import org.springframework.web.bind.annotation.RestController
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
import com.sangdol.roomescape.region.business.RegionService
|
||||
import com.sangdol.roomescape.region.docs.RegionAPI
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/regions")
|
||||
|
||||
@ -1,5 +1,10 @@
|
||||
package com.sangdol.roomescape.reservation.docs
|
||||
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.auth.web.support.User
|
||||
import com.sangdol.roomescape.auth.web.support.UserOnly
|
||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||
import com.sangdol.roomescape.reservation.web.*
|
||||
import io.swagger.v3.oas.annotations.Operation
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses
|
||||
@ -7,11 +12,6 @@ import jakarta.validation.Valid
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.PathVariable
|
||||
import org.springframework.web.bind.annotation.RequestBody
|
||||
import com.sangdol.roomescape.auth.web.support.User
|
||||
import com.sangdol.roomescape.auth.web.support.UserOnly
|
||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
import com.sangdol.roomescape.reservation.web.*
|
||||
|
||||
interface ReservationAPI {
|
||||
@Operation(summary = "결제 전 임시 예약 저장")
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
package com.sangdol.roomescape.reservation.web
|
||||
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.auth.web.support.User
|
||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||
import com.sangdol.roomescape.reservation.business.ReservationService
|
||||
import com.sangdol.roomescape.reservation.docs.ReservationAPI
|
||||
import jakarta.validation.Valid
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.*
|
||||
import com.sangdol.roomescape.auth.web.support.User
|
||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
import com.sangdol.roomescape.reservation.business.ReservationService
|
||||
import com.sangdol.roomescape.reservation.docs.ReservationAPI
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/reservations")
|
||||
|
||||
@ -2,9 +2,9 @@ package com.sangdol.roomescape.schedule.business
|
||||
|
||||
import ScheduleException
|
||||
import com.sangdol.common.persistence.IDGenerator
|
||||
import com.sangdol.common.types.audit.AuditingInfo
|
||||
import com.sangdol.common.types.audit.Auditor
|
||||
import com.sangdol.roomescape.admin.business.AdminService
|
||||
import com.sangdol.roomescape.common.dto.AuditInfo
|
||||
import com.sangdol.roomescape.common.dto.OperatorInfo
|
||||
import com.sangdol.roomescape.schedule.business.domain.ScheduleOverview
|
||||
import com.sangdol.roomescape.schedule.exception.ScheduleErrorCode
|
||||
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleEntity
|
||||
@ -89,15 +89,15 @@ class ScheduleService(
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
fun findScheduleAudit(id: Long): AuditInfo {
|
||||
fun findScheduleAudit(id: Long): AuditingInfo {
|
||||
log.info { "[ScheduleService.findDetail] 일정 감사 정보 조회 시작: id=$id" }
|
||||
|
||||
val schedule: ScheduleEntity = findOrThrow(id)
|
||||
|
||||
val createdBy: OperatorInfo = adminService.findOperatorOrUnknown(schedule.createdBy)
|
||||
val updatedBy: OperatorInfo = adminService.findOperatorOrUnknown(schedule.updatedBy)
|
||||
val createdBy: Auditor = adminService.findOperatorOrUnknown(schedule.createdBy)
|
||||
val updatedBy: Auditor = adminService.findOperatorOrUnknown(schedule.updatedBy)
|
||||
|
||||
return AuditInfo(schedule.createdAt, createdBy, schedule.updatedAt, updatedBy)
|
||||
return AuditingInfo(schedule.createdAt, createdBy, schedule.updatedAt, updatedBy)
|
||||
.also { log.info { "[ScheduleService.findDetail] 일정 감사 정보 조회 완료: id=$id" } }
|
||||
}
|
||||
|
||||
|
||||
@ -1,5 +1,13 @@
|
||||
package com.sangdol.roomescape.schedule.docs
|
||||
|
||||
import com.sangdol.common.types.audit.AuditingInfo
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminType
|
||||
import com.sangdol.roomescape.admin.infrastructure.persistence.Privilege
|
||||
import com.sangdol.roomescape.auth.web.support.AdminOnly
|
||||
import com.sangdol.roomescape.auth.web.support.Public
|
||||
import com.sangdol.roomescape.auth.web.support.UserOnly
|
||||
import com.sangdol.roomescape.schedule.web.*
|
||||
import io.swagger.v3.oas.annotations.Operation
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses
|
||||
@ -9,14 +17,6 @@ import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.PathVariable
|
||||
import org.springframework.web.bind.annotation.RequestBody
|
||||
import org.springframework.web.bind.annotation.RequestParam
|
||||
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminType
|
||||
import com.sangdol.roomescape.admin.infrastructure.persistence.Privilege
|
||||
import com.sangdol.roomescape.auth.web.support.AdminOnly
|
||||
import com.sangdol.roomescape.auth.web.support.Public
|
||||
import com.sangdol.roomescape.auth.web.support.UserOnly
|
||||
import com.sangdol.roomescape.common.dto.AuditInfo
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
import com.sangdol.roomescape.schedule.web.*
|
||||
import java.time.LocalDate
|
||||
|
||||
interface AdminScheduleAPI {
|
||||
@ -35,7 +35,7 @@ interface AdminScheduleAPI {
|
||||
@ApiResponses(ApiResponse(responseCode = "200", useReturnTypeSchema = true))
|
||||
fun findScheduleAudit(
|
||||
@PathVariable("id") id: Long
|
||||
): ResponseEntity<CommonApiResponse<AuditInfo>>
|
||||
): ResponseEntity<CommonApiResponse<AuditingInfo>>
|
||||
|
||||
@AdminOnly(type = AdminType.STORE, privilege = Privilege.CREATE)
|
||||
@Operation(summary = "일정 생성")
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
package com.sangdol.roomescape.schedule.web
|
||||
|
||||
import com.sangdol.common.types.audit.AuditingInfo
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.schedule.business.ScheduleService
|
||||
import com.sangdol.roomescape.schedule.docs.AdminScheduleAPI
|
||||
import jakarta.validation.Valid
|
||||
import org.springframework.format.annotation.DateTimeFormat
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.*
|
||||
import com.sangdol.roomescape.common.dto.AuditInfo
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
import com.sangdol.roomescape.schedule.business.ScheduleService
|
||||
import com.sangdol.roomescape.schedule.docs.AdminScheduleAPI
|
||||
import java.time.LocalDate
|
||||
|
||||
@RestController
|
||||
@ -29,7 +29,7 @@ class AdminScheduleController(
|
||||
@GetMapping("/schedules/{id}/audits")
|
||||
override fun findScheduleAudit(
|
||||
@PathVariable("id") id: Long
|
||||
): ResponseEntity<CommonApiResponse<AuditInfo>> {
|
||||
): ResponseEntity<CommonApiResponse<AuditingInfo>> {
|
||||
val response = scheduleService.findScheduleAudit(id)
|
||||
|
||||
return ResponseEntity.ok(CommonApiResponse(response))
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
package com.sangdol.roomescape.schedule.web
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.*
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.schedule.business.ScheduleService
|
||||
import com.sangdol.roomescape.schedule.docs.PublicScheduleAPI
|
||||
import com.sangdol.roomescape.schedule.docs.UserScheduleAPI
|
||||
import org.springframework.format.annotation.DateTimeFormat
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.*
|
||||
import java.time.LocalDate
|
||||
|
||||
@RestController
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
package com.sangdol.roomescape.store.business
|
||||
|
||||
import com.sangdol.common.persistence.IDGenerator
|
||||
import com.sangdol.common.types.audit.AuditingInfo
|
||||
import com.sangdol.roomescape.admin.business.AdminService
|
||||
import com.sangdol.roomescape.common.dto.AuditInfo
|
||||
import com.sangdol.roomescape.region.business.RegionService
|
||||
import com.sangdol.roomescape.store.exception.StoreErrorCode
|
||||
import com.sangdol.roomescape.store.exception.StoreException
|
||||
@ -108,12 +108,12 @@ class StoreService(
|
||||
.also { log.info { "[StoreService.findStoreInfo] 매장 정보 조회 완료: id=${id}" } }
|
||||
}
|
||||
|
||||
private fun getAuditInfo(store: StoreEntity): AuditInfo {
|
||||
private fun getAuditInfo(store: StoreEntity): AuditingInfo {
|
||||
log.info { "[StoreService.getAuditInfo] 감사 정보 조회 시작: storeId=${store.id}" }
|
||||
val createdBy = adminService.findOperatorOrUnknown(store.createdBy)
|
||||
val updatedBy = adminService.findOperatorOrUnknown(store.updatedBy)
|
||||
|
||||
return AuditInfo(
|
||||
return AuditingInfo(
|
||||
createdAt = store.createdAt,
|
||||
createdBy = createdBy,
|
||||
updatedAt = store.updatedAt,
|
||||
|
||||
@ -1,5 +1,11 @@
|
||||
package com.sangdol.roomescape.store.docs
|
||||
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminType
|
||||
import com.sangdol.roomescape.admin.infrastructure.persistence.Privilege
|
||||
import com.sangdol.roomescape.auth.web.support.AdminOnly
|
||||
import com.sangdol.roomescape.auth.web.support.Public
|
||||
import com.sangdol.roomescape.store.web.*
|
||||
import io.swagger.v3.oas.annotations.Operation
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses
|
||||
@ -8,12 +14,6 @@ import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.PathVariable
|
||||
import org.springframework.web.bind.annotation.RequestBody
|
||||
import org.springframework.web.bind.annotation.RequestParam
|
||||
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminType
|
||||
import com.sangdol.roomescape.admin.infrastructure.persistence.Privilege
|
||||
import com.sangdol.roomescape.auth.web.support.AdminOnly
|
||||
import com.sangdol.roomescape.auth.web.support.Public
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
import com.sangdol.roomescape.store.web.*
|
||||
|
||||
interface AdminStoreAPI {
|
||||
@AdminOnly(type = AdminType.HQ, privilege = Privilege.READ_DETAIL)
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
package com.sangdol.roomescape.store.web
|
||||
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.store.business.StoreService
|
||||
import com.sangdol.roomescape.store.docs.AdminStoreAPI
|
||||
import jakarta.validation.Valid
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.*
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
import com.sangdol.roomescape.store.business.StoreService
|
||||
import com.sangdol.roomescape.store.docs.AdminStoreAPI
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/admin/stores")
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package com.sangdol.roomescape.store.web
|
||||
|
||||
import com.sangdol.roomescape.common.dto.AuditInfo
|
||||
import com.sangdol.common.types.audit.AuditingInfo
|
||||
import com.sangdol.roomescape.region.web.RegionInfoResponse
|
||||
import com.sangdol.roomescape.store.infrastructure.persistence.StoreEntity
|
||||
|
||||
@ -29,12 +29,12 @@ data class DetailStoreResponse(
|
||||
val contact: String,
|
||||
val businessRegNum: String,
|
||||
val region: RegionInfoResponse,
|
||||
val audit: AuditInfo
|
||||
val audit: AuditingInfo
|
||||
)
|
||||
|
||||
fun StoreEntity.toDetailResponse(
|
||||
region: RegionInfoResponse,
|
||||
audit: AuditInfo
|
||||
audit: AuditingInfo
|
||||
) = DetailStoreResponse(
|
||||
id = this.id,
|
||||
name = this.name,
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
package com.sangdol.roomescape.store.web
|
||||
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.store.business.StoreService
|
||||
import com.sangdol.roomescape.store.docs.PublicStoreAPI
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.GetMapping
|
||||
import org.springframework.web.bind.annotation.PathVariable
|
||||
import org.springframework.web.bind.annotation.RequestParam
|
||||
import org.springframework.web.bind.annotation.RestController
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
import com.sangdol.roomescape.store.business.StoreService
|
||||
import com.sangdol.roomescape.store.docs.PublicStoreAPI
|
||||
|
||||
@RestController
|
||||
class StoreController(
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
package com.sangdol.roomescape.theme.business
|
||||
|
||||
import com.sangdol.common.persistence.IDGenerator
|
||||
import com.sangdol.common.types.audit.AuditingInfo
|
||||
import com.sangdol.roomescape.admin.business.AdminService
|
||||
import com.sangdol.roomescape.common.dto.AuditInfo
|
||||
import com.sangdol.roomescape.common.util.DateUtils
|
||||
import com.sangdol.roomescape.theme.exception.ThemeErrorCode
|
||||
import com.sangdol.roomescape.theme.exception.ThemeException
|
||||
@ -78,7 +78,7 @@ class ThemeService(
|
||||
|
||||
val createdBy = adminService.findOperatorOrUnknown(theme.createdBy)
|
||||
val updatedBy = adminService.findOperatorOrUnknown(theme.updatedBy)
|
||||
val audit = AuditInfo(theme.createdAt, createdBy, theme.updatedAt, updatedBy)
|
||||
val audit = AuditingInfo(theme.createdAt, createdBy, theme.updatedAt, updatedBy)
|
||||
|
||||
return theme.toAdminThemeDetailResponse(audit)
|
||||
.also { log.info { "[ThemeService.findAdminThemeDetail] 테마 상세 조회 완료: id=$id, name=${theme.name}" } }
|
||||
|
||||
@ -1,5 +1,11 @@
|
||||
package com.sangdol.roomescape.theme.docs
|
||||
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminType
|
||||
import com.sangdol.roomescape.admin.infrastructure.persistence.Privilege
|
||||
import com.sangdol.roomescape.auth.web.support.AdminOnly
|
||||
import com.sangdol.roomescape.auth.web.support.Public
|
||||
import com.sangdol.roomescape.theme.web.*
|
||||
import io.swagger.v3.oas.annotations.Operation
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses
|
||||
@ -9,12 +15,6 @@ import org.springframework.web.bind.annotation.GetMapping
|
||||
import org.springframework.web.bind.annotation.PathVariable
|
||||
import org.springframework.web.bind.annotation.RequestBody
|
||||
import org.springframework.web.bind.annotation.RequestParam
|
||||
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminType
|
||||
import com.sangdol.roomescape.admin.infrastructure.persistence.Privilege
|
||||
import com.sangdol.roomescape.auth.web.support.AdminOnly
|
||||
import com.sangdol.roomescape.auth.web.support.Public
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
import com.sangdol.roomescape.theme.web.*
|
||||
|
||||
interface AdminThemeAPI {
|
||||
@AdminOnly(type = AdminType.HQ, privilege = Privilege.READ_SUMMARY)
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
package com.sangdol.roomescape.theme.web
|
||||
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.theme.business.ThemeService
|
||||
import com.sangdol.roomescape.theme.docs.AdminThemeAPI
|
||||
import jakarta.validation.Valid
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.*
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
import com.sangdol.roomescape.theme.business.ThemeService
|
||||
import com.sangdol.roomescape.theme.docs.AdminThemeAPI
|
||||
import java.net.URI
|
||||
|
||||
@RestController
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package com.sangdol.roomescape.theme.web
|
||||
|
||||
import com.sangdol.roomescape.common.dto.AuditInfo
|
||||
import com.sangdol.common.types.audit.AuditingInfo
|
||||
import com.sangdol.roomescape.theme.infrastructure.persistence.Difficulty
|
||||
import com.sangdol.roomescape.theme.infrastructure.persistence.ThemeEntity
|
||||
|
||||
@ -95,10 +95,10 @@ fun List<ThemeEntity>.toAdminThemeSummaryListResponse() = AdminThemeSummaryListR
|
||||
data class AdminThemeDetailResponse(
|
||||
val theme: ThemeInfoResponse,
|
||||
val isActive: Boolean,
|
||||
val audit: AuditInfo
|
||||
val audit: AuditingInfo
|
||||
)
|
||||
|
||||
fun ThemeEntity.toAdminThemeDetailResponse(audit: AuditInfo) =
|
||||
fun ThemeEntity.toAdminThemeDetailResponse(audit: AuditingInfo) =
|
||||
AdminThemeDetailResponse(
|
||||
theme = this.toInfoResponse(),
|
||||
isActive = this.isActive,
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
package com.sangdol.roomescape.theme.web
|
||||
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.*
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.theme.business.ThemeService
|
||||
import com.sangdol.roomescape.theme.docs.PublicThemeAPI
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.*
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/themes")
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
package com.sangdol.roomescape.user.docs
|
||||
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.auth.web.support.Public
|
||||
import com.sangdol.roomescape.auth.web.support.User
|
||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||
import com.sangdol.roomescape.user.web.UserContactResponse
|
||||
import com.sangdol.roomescape.user.web.UserCreateRequest
|
||||
import com.sangdol.roomescape.user.web.UserCreateResponse
|
||||
import io.swagger.v3.oas.annotations.Operation
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses
|
||||
import jakarta.validation.Valid
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.RequestBody
|
||||
import com.sangdol.roomescape.auth.web.support.Public
|
||||
import com.sangdol.roomescape.auth.web.support.User
|
||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
import com.sangdol.roomescape.user.web.UserContactResponse
|
||||
import com.sangdol.roomescape.user.web.UserCreateRequest
|
||||
import com.sangdol.roomescape.user.web.UserCreateResponse
|
||||
|
||||
interface UserAPI {
|
||||
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
package com.sangdol.roomescape.user.web
|
||||
|
||||
import com.sangdol.common.types.web.CommonApiResponse
|
||||
import com.sangdol.roomescape.auth.web.support.User
|
||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||
import com.sangdol.roomescape.user.business.UserService
|
||||
import com.sangdol.roomescape.user.docs.UserAPI
|
||||
import jakarta.validation.Valid
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.*
|
||||
import com.sangdol.roomescape.auth.web.support.User
|
||||
import com.sangdol.roomescape.common.dto.CurrentUserContext
|
||||
import com.sangdol.roomescape.common.dto.response.CommonApiResponse
|
||||
import com.sangdol.roomescape.user.business.UserService
|
||||
import com.sangdol.roomescape.user.docs.UserAPI
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/users")
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,18 +1,10 @@
|
||||
package com.sangdol.roomescape.schedule
|
||||
|
||||
import io.kotest.assertions.assertSoftly
|
||||
import io.kotest.matchers.date.shouldBeBefore
|
||||
import io.kotest.matchers.shouldBe
|
||||
import io.kotest.matchers.shouldNotBe
|
||||
import org.hamcrest.CoreMatchers.equalTo
|
||||
import org.springframework.data.repository.findByIdOrNull
|
||||
import org.springframework.http.HttpMethod
|
||||
import com.sangdol.common.types.audit.Auditor
|
||||
import com.sangdol.common.types.web.HttpStatus
|
||||
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminPermissionLevel
|
||||
import com.sangdol.roomescape.admin.infrastructure.persistence.AdminType
|
||||
import com.sangdol.roomescape.auth.exception.AuthErrorCode
|
||||
import com.sangdol.roomescape.common.dto.AuditConstant
|
||||
import com.sangdol.roomescape.common.dto.OperatorInfo
|
||||
import com.sangdol.roomescape.schedule.exception.ScheduleErrorCode
|
||||
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleEntity
|
||||
import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleRepository
|
||||
@ -21,6 +13,13 @@ import com.sangdol.roomescape.schedule.web.AdminScheduleSummaryResponse
|
||||
import com.sangdol.roomescape.schedule.web.ScheduleUpdateRequest
|
||||
import com.sangdol.roomescape.store.infrastructure.persistence.StoreEntity
|
||||
import com.sangdol.roomescape.supports.*
|
||||
import io.kotest.assertions.assertSoftly
|
||||
import io.kotest.matchers.date.shouldBeBefore
|
||||
import io.kotest.matchers.shouldBe
|
||||
import io.kotest.matchers.shouldNotBe
|
||||
import org.hamcrest.CoreMatchers.equalTo
|
||||
import org.springframework.data.repository.findByIdOrNull
|
||||
import org.springframework.http.HttpMethod
|
||||
import java.time.LocalDate
|
||||
import java.time.LocalTime
|
||||
|
||||
@ -267,7 +266,7 @@ class AdminScheduleApiTest(
|
||||
val schedule: ScheduleEntity = initialize("감사 이력을 남기지 않기 위해, 로그인 없이 일정을 생성한다.") {
|
||||
dummyInitializer.createSchedule(storeId = store.id, request = ScheduleFixture.createRequest)
|
||||
}
|
||||
val unknownOperator: OperatorInfo = AuditConstant.UNKNOWN_OPERATOR
|
||||
val unknownOperator: Auditor = Auditor.UNKNOWN
|
||||
|
||||
runTest(
|
||||
token = testAuthUtil.defaultHqAdminLogin().second,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user