From 63251d67eade511db6751f8600f484c38f8450de Mon Sep 17 00:00:00 2001 From: pricelees Date: Sun, 14 Sep 2025 21:12:12 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8?= =?UTF-8?q?=EC=8B=9C=20=EC=82=AC=EC=9A=A9=ED=95=98=EB=8A=94=20LoginCredent?= =?UTF-8?q?ial=20=ED=9A=8C=EC=9B=90=20/=20=EA=B4=80=EB=A6=AC=EC=9E=90=20?= =?UTF-8?q?=EB=B6=84=EB=A6=AC=20=EB=B0=8F=20=ED=97=AC=ED=8D=BC=20=EB=A9=94?= =?UTF-8?q?=EC=84=9C=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 --- .../roomescape/admin/business/AdminService.kt | 9 ++-- .../roomescape/common/dto/CommonAuth.kt | 46 +++++++++++++++++-- .../roomescape/user/business/UserService.kt | 2 +- 3 files changed, 49 insertions(+), 8 deletions(-) diff --git a/src/main/kotlin/roomescape/admin/business/AdminService.kt b/src/main/kotlin/roomescape/admin/business/AdminService.kt index 21f789be..95657df2 100644 --- a/src/main/kotlin/roomescape/admin/business/AdminService.kt +++ b/src/main/kotlin/roomescape/admin/business/AdminService.kt @@ -13,6 +13,7 @@ import roomescape.common.dto.AdminLoginCredentials import roomescape.common.dto.CurrentUserContext import roomescape.common.dto.OperatorInfo import roomescape.common.dto.PrincipalType +import roomescape.common.dto.toCredentials private val log: KLogger = KotlinLogging.logger {} @@ -33,15 +34,15 @@ class AdminService( @Transactional(readOnly = true) fun findCredentialsByAccount(account: String): AdminLoginCredentials { - log.info { "[AdminService.findInfoByAccount] 관리자 조회 시작: account=${account}" } + log.info { "[AdminService.findCredentialsByAccount] 관리자 조회 시작: account=${account}" } return adminRepository.findByAccount(account) ?.let { - log.info { "[AdminService.findByAccount] 관리자 조회 완료: account=${account}, id=${it.id}" } - AdminLoginCredentials(it.id, it.password, it.permissionLevel) + log.info { "[AdminService.findCredentialsByAccount] 관리자 조회 완료: account=${account}, id=${it.id}" } + it.toCredentials() } ?: run { - log.info { "[AdminService.findInfoByAccount] 관리자 조회 실패: account=${account}" } + log.info { "[AdminService.findCredentialsByAccount] 관리자 조회 실패: account=${account}" } throw AdminException(AdminErrorCode.ADMIN_NOT_FOUND) } } diff --git a/src/main/kotlin/roomescape/common/dto/CommonAuth.kt b/src/main/kotlin/roomescape/common/dto/CommonAuth.kt index 7d67a872..e567b417 100644 --- a/src/main/kotlin/roomescape/common/dto/CommonAuth.kt +++ b/src/main/kotlin/roomescape/common/dto/CommonAuth.kt @@ -1,24 +1,64 @@ package roomescape.common.dto +import roomescape.admin.infrastructure.persistence.AdminEntity import roomescape.admin.infrastructure.persistence.AdminPermissionLevel +import roomescape.admin.infrastructure.persistence.AdminType +import roomescape.auth.web.AdminLoginSuccessResponse +import roomescape.auth.web.LoginSuccessResponse +import roomescape.auth.web.UserLoginSuccessResponse +import roomescape.user.infrastructure.persistence.UserEntity const val MDC_PRINCIPAL_ID_KEY: String = "principal_id" abstract class LoginCredentials { abstract val id: Long abstract val password: String + abstract val name: String + + abstract fun toResponse(accessToken: String): LoginSuccessResponse } data class AdminLoginCredentials( override val id: Long, override val password: String, - val permissionLevel: AdminPermissionLevel -) : LoginCredentials() + override val name: String, + val type: AdminType, + val storeId: Long?, + val permissionLevel: AdminPermissionLevel, +) : LoginCredentials() { + override fun toResponse(accessToken: String) = AdminLoginSuccessResponse( + accessToken = accessToken, + name = name, + type = type, + storeId = storeId + ) +} + +fun AdminEntity.toCredentials() = AdminLoginCredentials( + id = this.id, + password = this.password, + name = this.name, + type = this.type, + storeId = this.storeId, + permissionLevel = this.permissionLevel +) data class UserLoginCredentials( override val id: Long, override val password: String, -) : LoginCredentials() + override val name: String, +) : LoginCredentials() { + override fun toResponse(accessToken: String) = UserLoginSuccessResponse( + accessToken = accessToken, + name = name + ) +} + +fun UserEntity.toCredentials() = UserLoginCredentials( + id = this.id, + password = this.password, + name = this.name, +) data class CurrentUserContext( val id: Long, diff --git a/src/main/kotlin/roomescape/user/business/UserService.kt b/src/main/kotlin/roomescape/user/business/UserService.kt index 2a530be9..ed4b206c 100644 --- a/src/main/kotlin/roomescape/user/business/UserService.kt +++ b/src/main/kotlin/roomescape/user/business/UserService.kt @@ -47,7 +47,7 @@ class UserService( return userRepository.findByEmail(email) ?.let { log.info { "[UserService.findCredentialsByAccount] 회원 조회 완료: id=${it.id}" } - UserLoginCredentials(it.id, it.password) + it.toCredentials() } ?: run { log.info { "[UserService.findCredentialsByAccount] 회원 조회 실패" }