Skip to content

Commit 09e2282

Browse files
authored
Merge pull request #87 from Leets-Official/feat/kakao-login
[feat] 카카오 로그인 응답에 가입 상태 추가
2 parents a91b559 + 242e970 commit 09e2282

4 files changed

Lines changed: 19 additions & 9 deletions

File tree

src/main/kotlin/com/stepbookstep/server/domain/auth/application/AuthService.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class AuthService(
4444
?: throw CustomException(ErrorCode.EMAIL_REQUIRED)
4545

4646
// 2) 유저 조회/생성 (DB Transaction - UserService 내부에서 처리)
47-
val (user, isNewUser) =
47+
val (user, signupType) =
4848
userService.getOrCreateKakaoUser(
4949
providerUserId = providerUserId,
5050
nickname = nicknameFromKakao,
@@ -61,7 +61,7 @@ class AuthService(
6161
return KakaoLoginResponse(
6262
accessToken = accessToken,
6363
refreshToken = refreshToken,
64-
isNewUser = isNewUser,
64+
signupType = signupType,
6565
nickname = user.nickname,
6666
email = user.email
6767
)
@@ -87,7 +87,7 @@ class AuthService(
8787
val email = kakaoMe.email
8888
?: throw CustomException(ErrorCode.EMAIL_REQUIRED)
8989

90-
val (user, isNewUser) =
90+
val (user, signupType) =
9191
userService.getOrCreateKakaoUser(
9292
providerUserId = providerUserId,
9393
nickname = nicknameFromKakao,
@@ -102,7 +102,7 @@ class AuthService(
102102
return KakaoLoginResponse(
103103
accessToken = accessToken,
104104
refreshToken = refreshToken,
105-
isNewUser = isNewUser,
105+
signupType = signupType,
106106
nickname = user.nickname,
107107
email = user.email
108108
)
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package com.stepbookstep.server.domain.auth.application.dto
22

3+
import com.stepbookstep.server.domain.user.domain.SignupType
4+
35
data class KakaoLoginResponse(
46
val accessToken: String,
57
val refreshToken: String,
6-
val isNewUser: Boolean,
8+
val signupType: SignupType,
79
val nickname: String?,
810
val email: String?
911
)

src/main/kotlin/com/stepbookstep/server/domain/user/application/UserService.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.stepbookstep.server.domain.user.application
22

3+
import com.stepbookstep.server.domain.user.domain.SignupType
34
import com.stepbookstep.server.domain.user.domain.User
45
import com.stepbookstep.server.domain.user.domain.UserRepository
56
import com.stepbookstep.server.domain.user.domain.UserStatus
@@ -40,7 +41,7 @@ class UserService(
4041
* @return Pair(유저 객체, 신규 가입 여부)
4142
*/
4243
@Transactional
43-
fun getOrCreateKakaoUser(providerUserId: String, nickname: String, email: String): Pair<User, Boolean> {
44+
fun getOrCreateKakaoUser(providerUserId: String, nickname: String, email: String): Pair<User, SignupType> {
4445
val user = userRepository.findByProviderAndProviderUserId("KAKAO", providerUserId)
4546

4647
if (user != null) {
@@ -53,10 +54,10 @@ class UserService(
5354
user.email = email
5455
user.updatedAt = OffsetDateTime.now()
5556

56-
return user to false // 다시 가입 처리
57+
return user to SignupType.REJOIN // 다시 가입 처리
5758
}
5859

59-
return user to false
60+
return user to SignupType.EXISTING
6061
}
6162

6263
// 신규 가입
@@ -68,7 +69,7 @@ class UserService(
6869
status = UserStatus.ACTIVE
6970
)
7071

71-
return userRepository.save(newUser) to true
72+
return userRepository.save(newUser) to SignupType.NEW
7273
}
7374
}
7475

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.stepbookstep.server.domain.user.domain
2+
3+
enum class SignupType {
4+
NEW, // 완전 신규
5+
REJOIN, // 탈퇴 후 재가입
6+
EXISTING // 기존 유저
7+
}

0 commit comments

Comments
 (0)