From 8b1e59d35d64b58bdbdf1af669871e6007545a83 Mon Sep 17 00:00:00 2001 From: sgsk88 Date: Wed, 28 Aug 2024 00:29:32 +0900 Subject: [PATCH] =?UTF-8?q?[feat/#122]=20V2=20=EB=A1=9C=EA=B7=B8=EC=9D=B8?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../compileKotlin/cacheable/last-build.bin | Bin 18 -> 18 bytes .../local-state/build-history.bin | Bin 31 -> 31 bytes buildSrc/build/libs/buildSrc.jar | Bin 13281 -> 13281 bytes .../data/datasource/SignupRemoteDataSource.kt | 5 +++++ .../remote/SignupRemoteDataSourceImpl.kt | 7 +++++++ .../java/com/dpm/data/remote/SignupService.kt | 6 ++++++ .../data/repository/SignupRepositoryImpl.kt | 9 +++++++++ .../dpm/domain/repository/SignupRepository.kt | 5 +++++ .../login/ui/KakaoSignupActivity.kt | 11 +++++++---- .../login/viewmodel/KakaoSignupViewModel.kt | 17 +++++++++++++++++ 10 files changed, 56 insertions(+), 4 deletions(-) diff --git a/buildSrc/build/kotlin/compileKotlin/cacheable/last-build.bin b/buildSrc/build/kotlin/compileKotlin/cacheable/last-build.bin index 2f696e1a4c74629280b8dd2370f842de846d307b..3c43b58b48fe9ee95294c4380ebd84bdf78501b2 100644 GIT binary patch literal 18 YcmZ4UmVvdLhk=1{;*|7xa~OaC05+rq=>Px# literal 18 YcmZ4UmVvdLhk=1{VyEjma|R#)05in|X8-^I diff --git a/buildSrc/build/kotlin/compileKotlin/local-state/build-history.bin b/buildSrc/build/kotlin/compileKotlin/local-state/build-history.bin index f32efdc99100cc32df176bc6deac5c6961a7d831..5258ede51a3c2886da376a7d9e901e5df19403d3 100644 GIT binary patch literal 31 dcmZ4UmVvcgk^ur385kHRPD!6P2g+w)003d71or>{ literal 31 ccmZ4UmVvcgk^ur385kHRcDk-Jhw>R109-r-bpQYW diff --git a/buildSrc/build/libs/buildSrc.jar b/buildSrc/build/libs/buildSrc.jar index 3f14f91507eb3bd8df052984735bb8bbab7268db..47b4038540acd746fb41cf8f2a6d70498bbf3769 100644 GIT binary patch delta 265 zcmaEu{xF?4z?+#xgn@yBgW(aQ%tYQ|W+1h(`4KaS-kibmhz-o}yjmNIk&(@BQzV0w+A7nuHO=me(ijGV!AixEWK S86${30b>Xq0;OjddjbIBEmh6{ delta 265 zcmaEu{xF?4z?+#xgn@yBgW=dB$%(wh%s^^m^CM;uy*Y#B5gVA{%bmsqW^ChifiV8^ z--Ix33N2;@NlmVoNCYc+Eb$8>^FaCngt1xfDhpVuTX_aVL``iDgmF}38iWz2Z347|bgH3LU5EoJBmrjrca!SotKFEIVn&%(J1WL~^_5=V~CuIr% 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