From df5abf5cd46aaa8a087b0a0b96426afadf3357e9 Mon Sep 17 00:00:00 2001 From: pricelees Date: Sun, 28 Sep 2025 13:39:43 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20=EA=B8=B0=EC=A1=B4=20service/common?= =?UTF-8?q?=EC=97=90=20=EC=9E=88=EB=8A=94=20CommonAuth.kt=EC=9D=98=20?= =?UTF-8?q?=ED=83=80=EC=9E=85=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/types/web/CurrentUserContext.kt | 6 +++ .../business/dto/AdminLoginDTO.kt} | 43 +++---------------- .../sangdol/roomescape/auth/web/AuthDTO.kt | 23 +++++----- .../user/business/dto/UserLoginDTO.kt | 27 ++++++++++++ 4 files changed, 51 insertions(+), 48 deletions(-) create mode 100644 common/types/src/main/kotlin/com/sangdol/common/types/web/CurrentUserContext.kt rename service/src/main/kotlin/com/sangdol/roomescape/{common/dto/CommonAuth.kt => admin/business/dto/AdminLoginDTO.kt} (50%) create mode 100644 service/src/main/kotlin/com/sangdol/roomescape/user/business/dto/UserLoginDTO.kt diff --git a/common/types/src/main/kotlin/com/sangdol/common/types/web/CurrentUserContext.kt b/common/types/src/main/kotlin/com/sangdol/common/types/web/CurrentUserContext.kt new file mode 100644 index 00000000..ac3fd35d --- /dev/null +++ b/common/types/src/main/kotlin/com/sangdol/common/types/web/CurrentUserContext.kt @@ -0,0 +1,6 @@ +package com.sangdol.common.types.web + +data class CurrentUserContext( + val id: Long, + val name: String, +) diff --git a/service/src/main/kotlin/com/sangdol/roomescape/common/dto/CommonAuth.kt b/service/src/main/kotlin/com/sangdol/roomescape/admin/business/dto/AdminLoginDTO.kt similarity index 50% rename from service/src/main/kotlin/com/sangdol/roomescape/common/dto/CommonAuth.kt rename to service/src/main/kotlin/com/sangdol/roomescape/admin/business/dto/AdminLoginDTO.kt index 5bf1053b..d9d6c4f7 100644 --- a/service/src/main/kotlin/com/sangdol/roomescape/common/dto/CommonAuth.kt +++ b/service/src/main/kotlin/com/sangdol/roomescape/admin/business/dto/AdminLoginDTO.kt @@ -1,20 +1,10 @@ -package com.sangdol.roomescape.common.dto +package com.sangdol.roomescape.admin.business.dto import com.sangdol.roomescape.admin.infrastructure.persistence.AdminEntity import com.sangdol.roomescape.admin.infrastructure.persistence.AdminPermissionLevel import com.sangdol.roomescape.admin.infrastructure.persistence.AdminType -import com.sangdol.roomescape.auth.web.AdminLoginSuccessResponse +import com.sangdol.roomescape.auth.web.LoginCredentials 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 - abstract val name: String - - abstract fun toResponse(accessToken: String): LoginSuccessResponse -} data class AdminLoginCredentials( override val id: Long, @@ -41,28 +31,9 @@ fun AdminEntity.toCredentials() = AdminLoginCredentials( permissionLevel = this.permissionLevel ) -data class UserLoginCredentials( - override val id: Long, - override val password: String, +data class AdminLoginSuccessResponse( + override val accessToken: String, 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, -) - -enum class PrincipalType { - USER, ADMIN -} - -data class CurrentUserContext( - val id: Long, - val name: String, -) + val type: AdminType, + val storeId: Long?, +) : LoginSuccessResponse() \ No newline at end of file diff --git a/service/src/main/kotlin/com/sangdol/roomescape/auth/web/AuthDTO.kt b/service/src/main/kotlin/com/sangdol/roomescape/auth/web/AuthDTO.kt index 51ee0da3..2069f004 100644 --- a/service/src/main/kotlin/com/sangdol/roomescape/auth/web/AuthDTO.kt +++ b/service/src/main/kotlin/com/sangdol/roomescape/auth/web/AuthDTO.kt @@ -1,8 +1,11 @@ package com.sangdol.roomescape.auth.web -import jakarta.servlet.http.HttpServletRequest import com.sangdol.roomescape.admin.infrastructure.persistence.AdminType -import com.sangdol.roomescape.common.dto.PrincipalType +import jakarta.servlet.http.HttpServletRequest + +enum class PrincipalType { + USER, ADMIN +} data class LoginContext( val ipAddress: String, @@ -25,14 +28,10 @@ abstract class LoginSuccessResponse { abstract val name: String } -data class UserLoginSuccessResponse( - override val accessToken: String, - override val name: String, -) : LoginSuccessResponse() +abstract class LoginCredentials { + abstract val id: Long + abstract val password: String + abstract val name: String -data class AdminLoginSuccessResponse( - override val accessToken: String, - override val name: String, - val type: AdminType, - val storeId: Long?, -) : LoginSuccessResponse() + abstract fun toResponse(accessToken: String): LoginSuccessResponse +} diff --git a/service/src/main/kotlin/com/sangdol/roomescape/user/business/dto/UserLoginDTO.kt b/service/src/main/kotlin/com/sangdol/roomescape/user/business/dto/UserLoginDTO.kt new file mode 100644 index 00000000..deb3dc6e --- /dev/null +++ b/service/src/main/kotlin/com/sangdol/roomescape/user/business/dto/UserLoginDTO.kt @@ -0,0 +1,27 @@ +package com.sangdol.roomescape.user.business.dto + +import com.sangdol.roomescape.auth.web.LoginCredentials +import com.sangdol.roomescape.auth.web.LoginSuccessResponse +import com.sangdol.roomescape.user.infrastructure.persistence.UserEntity + +data class UserLoginCredentials( + override val id: Long, + override val password: String, + 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 UserLoginSuccessResponse( + override val accessToken: String, + override val name: String, +) : LoginSuccessResponse() \ No newline at end of file