From 1bca7830a34f4c47df99e710a8885516788b6ab9 Mon Sep 17 00:00:00 2001 From: JSPark <48265129+pknujsp@users.noreply.github.com> Date: Mon, 11 Mar 2024 23:52:56 +0900 Subject: [PATCH] =?UTF-8?q?#219=20=EC=95=B1=20=ED=94=84=EB=A1=9C=EC=84=B8?= =?UTF-8?q?=EC=8A=A4=EB=A5=BC=20=EB=8B=A4=EC=8B=9C=20=EC=8B=9C=EC=9E=91?= =?UTF-8?q?=ED=95=98=EC=98=80=EC=9D=84=20=EB=96=84=20=EC=84=B8=EC=85=98?= =?UTF-8?q?=EC=A0=95=EB=B3=B4=EB=A5=BC=20=EB=8B=A4=EC=8B=9C=20=EB=A1=9C?= =?UTF-8?q?=EB=93=9C=ED=95=98=EB=8A=94=20=EB=A1=9C=EC=A7=81=EC=9D=84=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84=ED=95=A0=20loadSession()=EC=9D=84=20AccountS?= =?UTF-8?q?essionRepository=EC=97=90=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/android/mediproject/core/data/RepositoryModule.kt | 4 +++- .../core/data/session/AccountSessionRepository.kt | 2 ++ .../core/data/session/AccountSessionRepositoryImpl.kt | 8 ++++++++ .../android/mediproject/feature/mypage/MyPageViewModel.kt | 4 +++- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/core/data/src/main/java/com/android/mediproject/core/data/RepositoryModule.kt b/core/data/src/main/java/com/android/mediproject/core/data/RepositoryModule.kt index 8f1ec6eb..5c37cb8a 100644 --- a/core/data/src/main/java/com/android/mediproject/core/data/RepositoryModule.kt +++ b/core/data/src/main/java/com/android/mediproject/core/data/RepositoryModule.kt @@ -1,5 +1,6 @@ package com.android.mediproject.core.data +import com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUserPool import com.android.mediproject.core.common.network.Dispatcher import com.android.mediproject.core.common.network.MediDispatchers import com.android.mediproject.core.data.adminaction.AdminActionRepository @@ -138,7 +139,8 @@ object RepositoryModule { @Singleton fun providesAccountSessionRepository( appDataStore: AppDataStore, - ): AccountSessionRepository = AccountSessionRepositoryImpl(appDataStore) + cognitoUserPool: CognitoUserPool, + ): AccountSessionRepository = AccountSessionRepositoryImpl(appDataStore, cognitoUserPool) @Provides diff --git a/core/data/src/main/java/com/android/mediproject/core/data/session/AccountSessionRepository.kt b/core/data/src/main/java/com/android/mediproject/core/data/session/AccountSessionRepository.kt index 438b0bcf..cd9f901e 100644 --- a/core/data/src/main/java/com/android/mediproject/core/data/session/AccountSessionRepository.kt +++ b/core/data/src/main/java/com/android/mediproject/core/data/session/AccountSessionRepository.kt @@ -13,4 +13,6 @@ interface AccountSessionRepository { val signedIn: Boolean suspend fun updateSession(session: CognitoUserSession?) suspend fun updateAccount(email: String, nickName: String = "") + + suspend fun loadSession() } diff --git a/core/data/src/main/java/com/android/mediproject/core/data/session/AccountSessionRepositoryImpl.kt b/core/data/src/main/java/com/android/mediproject/core/data/session/AccountSessionRepositoryImpl.kt index e2dc5b3d..77e8e7d4 100644 --- a/core/data/src/main/java/com/android/mediproject/core/data/session/AccountSessionRepositoryImpl.kt +++ b/core/data/src/main/java/com/android/mediproject/core/data/session/AccountSessionRepositoryImpl.kt @@ -1,5 +1,6 @@ package com.android.mediproject.core.data.session +import com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUserPool import com.amazonaws.mobileconnectors.cognitoidentityprovider.CognitoUserSession import com.android.mediproject.core.datastore.AppDataStore import com.android.mediproject.core.model.user.UserEntity @@ -9,6 +10,7 @@ import kotlinx.coroutines.flow.distinctUntilChanged class AccountSessionRepositoryImpl( private val appDataStore: AppDataStore, + private val userPool: CognitoUserPool, ) : AccountSessionRepository { override val lastSavedEmail = appDataStore.userEmail.distinctUntilChanged() @@ -25,6 +27,7 @@ class AccountSessionRepositoryImpl( mutableSession.value = session if (session == null) { + mutableUserOnCurrentSession.value = null appDataStore.clearMyAccountInfo() } } @@ -33,4 +36,9 @@ class AccountSessionRepositoryImpl( mutableUserOnCurrentSession.value = UserEntity(email, nickName) appDataStore.saveMyAccountInfo(email, nickName) } + + override suspend fun loadSession() { + + } + } diff --git a/feature/mypage/src/main/java/com/android/mediproject/feature/mypage/MyPageViewModel.kt b/feature/mypage/src/main/java/com/android/mediproject/feature/mypage/MyPageViewModel.kt index 1b3143af..416e140d 100644 --- a/feature/mypage/src/main/java/com/android/mediproject/feature/mypage/MyPageViewModel.kt +++ b/feature/mypage/src/main/java/com/android/mediproject/feature/mypage/MyPageViewModel.kt @@ -27,7 +27,9 @@ class MyPageViewModel @Inject constructor( private val signRepository: SignRepository, @Dispatcher(MediDispatchers.IO) private val ioDispatcher: CoroutineDispatcher, ) : BaseViewModel() { - + + val currentUser = accountSessionRepository.userOnCurrentSession + private val _eventFlow = MutableEventFlow() val eventFlow = _eventFlow.asEventFlow()