From 702470cd45e2e089901b3370161fff17bd18d98c Mon Sep 17 00:00:00 2001 From: JSPark <48265129+pknujsp@users.noreply.github.com> Date: Mon, 11 Mar 2024 07:39:47 +0900 Subject: [PATCH] =?UTF-8?q?#219=20aws=20api=EC=97=90=20=EB=A7=9E=EA=B2=8C?= =?UTF-8?q?=20SignRepositoryImpl=20=EC=BD=94=EB=93=9C=20=EC=A0=84=EB=B6=80?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/data/sign/SignRepositoryImpl.kt | 48 ++++++++----------- 1 file changed, 19 insertions(+), 29 deletions(-) diff --git a/core/data/src/main/java/com/android/mediproject/core/data/sign/SignRepositoryImpl.kt b/core/data/src/main/java/com/android/mediproject/core/data/sign/SignRepositoryImpl.kt index c5b9d241..142a8865 100644 --- a/core/data/src/main/java/com/android/mediproject/core/data/sign/SignRepositoryImpl.kt +++ b/core/data/src/main/java/com/android/mediproject/core/data/sign/SignRepositoryImpl.kt @@ -3,13 +3,9 @@ package com.android.mediproject.core.data.sign import com.android.mediproject.core.data.user.UserInfoRepository import com.android.mediproject.core.datastore.AppDataStore import com.android.mediproject.core.model.requestparameters.LoginParameter - import com.android.mediproject.core.model.requestparameters.SignUpParameter import com.android.mediproject.core.model.user.AccountState import com.android.mediproject.core.network.datasource.sign.SignDataSource -import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.channelFlow -import javax.inject.Inject class SignRepositoryImpl( private val signDataSource: SignDataSource, @@ -19,41 +15,35 @@ class SignRepositoryImpl( override suspend fun login(loginParameter: LoginParameter): Result { val result = signDataSource.logIn(loginParameter) - if (result.isSuccess) { + result.onSuccess { appDataStore.run { saveSkipIntro(true) - userInfoRepository.updateMyAccountInfo(AccountState.SignedIn(it._userId!!.toLong(), it._nickName!!, it._email!!)) - saveMyAccountInfo(it._email!!, it._nickName!!, it._userId!!.toLong()) + userInfoRepository.updateMyAccountInfo( + AccountState.SignedIn( + myId = 0L, + email = loginParameter.email.contentToString(), + myNickName = it.userSession.username, + ), + ) + saveMyAccountInfo( + userEmail = loginParameter.email.contentToString(), + nickName = it.userSession.username, + myAccountId = 0L, + ) } } return Result.success(true) } - override suspend fun signUp(signUpParameter: SignUpParameter): Flow> = channelFlow { - signDataSource.signUp(signUpParameter).collect { signUpResult -> - if (signUpResult.isFailure) { - trySend(Result.failure(signUpResult.exceptionOrNull() ?: Exception("로그인 실패"))) - return@collect - } else { - appDataStore.apply { - saveSkipIntro(true) - signUpResult.onSuccess { - // 내 계정 정보 메모리에 저장 - userInfoRepository.updateMyAccountInfo(AccountState.SignedIn(it._userId!!.toLong(), it._nickName!!, it._email!!)) - saveMyAccountInfo(it._email!!, it._nickName!!, it._userId!!.toLong()) - } - } - trySend(Result.success(Unit)) - } + override suspend fun signUp(signUpParameter: SignUpParameter): Result { + val result = signDataSource.signUp(signUpParameter) + if (result.isSuccess) { + appDataStore.saveSkipIntro(true) } + + return Result.success(true) } - /** - * 로그아웃 - * - * 저장된 토큰 정보를 삭제한다. - */ override suspend fun signOut() = signDataSource.signOut() - }