Skip to content

Commit ad48939

Browse files
committed
Refactor: OnBoarding 루틴 캐시 무효화 data 레이어 위임
1 parent 1ddcf38 commit ad48939

4 files changed

Lines changed: 3 additions & 34 deletions

File tree

data/src/main/java/com/threegap/bitnagil/data/onboarding/repositoryImpl/OnBoardingRepositoryImpl.kt

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,16 @@ import com.threegap.bitnagil.data.onboarding.datasource.OnBoardingDataSource
44
import com.threegap.bitnagil.data.onboarding.model.dto.OnBoardingDto
55
import com.threegap.bitnagil.data.onboarding.model.request.GetOnBoardingRecommendRoutinesRequest
66
import com.threegap.bitnagil.data.onboarding.model.request.RegisterOnBoardingRecommendRoutinesRequest
7+
import com.threegap.bitnagil.data.routine.datasource.RoutineLocalDataSource
78
import com.threegap.bitnagil.domain.onboarding.model.OnBoarding
89
import com.threegap.bitnagil.domain.onboarding.model.OnBoardingAbstract
910
import com.threegap.bitnagil.domain.onboarding.model.OnBoardingRecommendRoutine
10-
import com.threegap.bitnagil.domain.onboarding.model.OnBoardingRecommendRoutineEvent
1111
import com.threegap.bitnagil.domain.onboarding.repository.OnBoardingRepository
12-
import kotlinx.coroutines.channels.BufferOverflow
13-
import kotlinx.coroutines.flow.Flow
14-
import kotlinx.coroutines.flow.MutableSharedFlow
15-
import kotlinx.coroutines.flow.asSharedFlow
1612
import javax.inject.Inject
1713

1814
class OnBoardingRepositoryImpl @Inject constructor(
1915
private val onBoardingDataSource: OnBoardingDataSource,
16+
private val routineLocalDataSource: RoutineLocalDataSource,
2017
) : OnBoardingRepository {
2118
override suspend fun getOnBoardingList(): List<OnBoarding> {
2219
val onBoardingDtos = onBoardingDataSource.getOnBoardingList()
@@ -59,7 +56,7 @@ class OnBoardingRepositoryImpl @Inject constructor(
5956

6057
return onBoardingDataSource.registerRecommendRoutineList(selectedRecommendRoutineIds = request.recommendedRoutineIds).also {
6158
if (it.isSuccess) {
62-
_onBoardingRecommendRoutineEventFlow.emit(OnBoardingRecommendRoutineEvent.AddRoutines(selectedRecommendRoutineIds))
59+
routineLocalDataSource.clearCache()
6360
}
6461
}
6562
}
@@ -73,10 +70,4 @@ class OnBoardingRepositoryImpl @Inject constructor(
7370
)
7471
}
7572
}
76-
77-
private val _onBoardingRecommendRoutineEventFlow = MutableSharedFlow<OnBoardingRecommendRoutineEvent>(
78-
extraBufferCapacity = 1,
79-
onBufferOverflow = BufferOverflow.DROP_OLDEST,
80-
)
81-
override suspend fun getOnBoardingRecommendRoutineEventFlow(): Flow<OnBoardingRecommendRoutineEvent> = _onBoardingRecommendRoutineEventFlow.asSharedFlow()
8273
}

domain/src/main/java/com/threegap/bitnagil/domain/onboarding/model/OnBoardingRecommendRoutineEvent.kt

Lines changed: 0 additions & 5 deletions
This file was deleted.

domain/src/main/java/com/threegap/bitnagil/domain/onboarding/repository/OnBoardingRepository.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,11 @@ package com.threegap.bitnagil.domain.onboarding.repository
33
import com.threegap.bitnagil.domain.onboarding.model.OnBoarding
44
import com.threegap.bitnagil.domain.onboarding.model.OnBoardingAbstract
55
import com.threegap.bitnagil.domain.onboarding.model.OnBoardingRecommendRoutine
6-
import com.threegap.bitnagil.domain.onboarding.model.OnBoardingRecommendRoutineEvent
7-
import kotlinx.coroutines.flow.Flow
86

97
interface OnBoardingRepository {
108
suspend fun getOnBoardingList(): List<OnBoarding>
119
suspend fun getOnBoardingAbstract(selectedItemIdsWithOnBoardingId: List<Pair<String, List<String>>>): OnBoardingAbstract
1210
suspend fun getRecommendOnBoardingRouteList(selectedItemIdsWithOnBoardingId: List<Pair<String, List<String>>>): Result<List<OnBoardingRecommendRoutine>>
1311
suspend fun registerRecommendRoutineList(selectedRecommendRoutineIds: List<String>): Result<Unit>
14-
suspend fun getOnBoardingRecommendRoutineEventFlow(): Flow<OnBoardingRecommendRoutineEvent>
1512
suspend fun getUserOnBoarding(): Result<List<Pair<String, List<String>>>>
1613
}

domain/src/main/java/com/threegap/bitnagil/domain/onboarding/usecase/GetOnBoardingRecommendRoutineEventFlowUseCase.kt

Lines changed: 0 additions & 14 deletions
This file was deleted.

0 commit comments

Comments
 (0)