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()