diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/last-build.bin b/buildSrc/build/kotlin/compileKotlin/cacheable/last-build.bin index 2f696e1a..3c43b58b 100644 Binary files a/buildSrc/build/kotlin/compileKotlin/cacheable/last-build.bin and b/buildSrc/build/kotlin/compileKotlin/cacheable/last-build.bin differ diff --git a/buildSrc/build/kotlin/compileKotlin/local-state/build-history.bin b/buildSrc/build/kotlin/compileKotlin/local-state/build-history.bin index f32efdc9..5258ede5 100644 Binary files a/buildSrc/build/kotlin/compileKotlin/local-state/build-history.bin and b/buildSrc/build/kotlin/compileKotlin/local-state/build-history.bin differ diff --git a/buildSrc/build/libs/buildSrc.jar b/buildSrc/build/libs/buildSrc.jar index 3f14f915..47b40385 100644 Binary files a/buildSrc/build/libs/buildSrc.jar and b/buildSrc/build/libs/buildSrc.jar differ diff --git a/data/src/main/java/com/dpm/data/datasource/SignupRemoteDataSource.kt b/data/src/main/java/com/dpm/data/datasource/SignupRemoteDataSource.kt index 9bc7d257..a4fb9122 100644 --- a/data/src/main/java/com/dpm/data/datasource/SignupRemoteDataSource.kt +++ b/data/src/main/java/com/dpm/data/datasource/SignupRemoteDataSource.kt @@ -12,5 +12,10 @@ interface SignupRemoteDataSource { accessToken: String, ): ResponsePostSignupDto + suspend fun getSignupV2( + snsProvider: String, + accessToken: String, + ): ResponsePostSignupDto + suspend fun deleteWithdraw(): Unit } \ No newline at end of file diff --git a/data/src/main/java/com/dpm/data/datasource/remote/SignupRemoteDataSourceImpl.kt b/data/src/main/java/com/dpm/data/datasource/remote/SignupRemoteDataSourceImpl.kt index 66224123..810c7a9c 100644 --- a/data/src/main/java/com/dpm/data/datasource/remote/SignupRemoteDataSourceImpl.kt +++ b/data/src/main/java/com/dpm/data/datasource/remote/SignupRemoteDataSourceImpl.kt @@ -19,6 +19,13 @@ class SignupRemoteDataSourceImpl @Inject constructor( return signupService.getSignupMember(accessToken) } + override suspend fun getSignupV2( + snsProvider: String, + accessToken: String + ): ResponsePostSignupDto { + return signupService.getSignupMemberV2(snsProvider, accessToken) + } + override suspend fun deleteWithdraw(): Unit { return signupService.deleteSignupMember() } diff --git a/data/src/main/java/com/dpm/data/remote/SignupService.kt b/data/src/main/java/com/dpm/data/remote/SignupService.kt index 4a039684..df7988e6 100644 --- a/data/src/main/java/com/dpm/data/remote/SignupService.kt +++ b/data/src/main/java/com/dpm/data/remote/SignupService.kt @@ -20,6 +20,12 @@ interface SignupService { @Path("accessToken") accessToken: String, ): ResponsePostSignupDto + @GET("/api/v2/members/{snsProvider}/{token}") + suspend fun getSignupMemberV2( + @Path("snsProvider") snsProvider: String, + @Path("token") accessToken: String, + ): ResponsePostSignupDto + @DELETE("/api/v1/members") suspend fun deleteSignupMember() } \ No newline at end of file diff --git a/data/src/main/java/com/dpm/data/repository/SignupRepositoryImpl.kt b/data/src/main/java/com/dpm/data/repository/SignupRepositoryImpl.kt index 9de828aa..ac3f9412 100644 --- a/data/src/main/java/com/dpm/data/repository/SignupRepositoryImpl.kt +++ b/data/src/main/java/com/dpm/data/repository/SignupRepositoryImpl.kt @@ -23,6 +23,15 @@ class SignupRepositoryImpl @Inject constructor( } } + override suspend fun getSignupV2( + snsProvider: String, + accessToken: String + ): Result { + return runCatching { + signupRemoteDataSource.getSignupV2(snsProvider, accessToken).toSignupTokenModel() + } + } + override suspend fun deleteWithdraw(): Result { return runCatching { signupRemoteDataSource.deleteWithdraw() diff --git a/domain/src/main/java/com/dpm/domain/repository/SignupRepository.kt b/domain/src/main/java/com/dpm/domain/repository/SignupRepository.kt index 0673c5e5..8c8bed38 100644 --- a/domain/src/main/java/com/dpm/domain/repository/SignupRepository.kt +++ b/domain/src/main/java/com/dpm/domain/repository/SignupRepository.kt @@ -12,5 +12,10 @@ interface SignupRepository { accessToken: String ): Result + suspend fun getSignupV2( + snsProvider: String, + accessToken: String + ): Result + suspend fun deleteWithdraw(): Result } \ No newline at end of file diff --git a/presentation/src/main/java/com/dpm/presentation/login/ui/KakaoSignupActivity.kt b/presentation/src/main/java/com/dpm/presentation/login/ui/KakaoSignupActivity.kt index 52091163..3f658c73 100644 --- a/presentation/src/main/java/com/dpm/presentation/login/ui/KakaoSignupActivity.kt +++ b/presentation/src/main/java/com/dpm/presentation/login/ui/KakaoSignupActivity.kt @@ -44,10 +44,13 @@ class KakaoSignupActivity : BaseActivity({ val userName = account.givenName val serverAuth = account.serverAuthCode account.idToken - Intent(this, NicknameInputActivity::class.java).apply { - putExtra("kakaoToken", account.idToken) - startActivity(this) - } + + signUpViewModel.updateGoogleToken(account.serverAuthCode.orEmpty()) + +// Intent(this, NicknameInputActivity::class.java).apply { +// putExtra("kakaoToken", account.idToken) +// startActivity(this) +// } } catch (e: ApiException) { Timber.e(e) diff --git a/presentation/src/main/java/com/dpm/presentation/login/viewmodel/KakaoSignupViewModel.kt b/presentation/src/main/java/com/dpm/presentation/login/viewmodel/KakaoSignupViewModel.kt index 0cbe76c4..2eaa839f 100644 --- a/presentation/src/main/java/com/dpm/presentation/login/viewmodel/KakaoSignupViewModel.kt +++ b/presentation/src/main/java/com/dpm/presentation/login/viewmodel/KakaoSignupViewModel.kt @@ -51,4 +51,21 @@ class KakaoSignupViewModel @Inject constructor( } } + fun updateGoogleToken(token: String) { + viewModelScope.launch { + _loginUiState.emit(LoginUiState.Loading) + signupRepository.getSignupV2("GOOGLE", token) + .onSuccess { + if (it.jwtToken.isEmpty()) { + _kakaoToken.value = token + } else { + sharedPreference.token = it.jwtToken + _loginUiState.emit(LoginUiState.LoginSuccess) + } + }.onFailure { + _kakaoToken.value = token + } + } + } + } \ No newline at end of file