Skip to content

Commit b6c8239

Browse files
committed
[DELETE] : SearchViewmodel viewmodel 로직 삭제 #54
1 parent 23acc0c commit b6c8239

File tree

2 files changed

+34
-12
lines changed

2 files changed

+34
-12
lines changed

Diff for: presentation/src/main/java/com/velogm/presentation/ui/search/SearchViewModel.kt

-12
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,10 @@ import timber.log.Timber
1717
import javax.inject.Inject
1818
@HiltViewModel
1919
class SearchViewModel@Inject constructor(
20-
private val getTagUseCase: GetTagUseCase,
2120
private val getPopularTagUseCase: GetPopularTagUseCase,
2221
private val getTagPostsUseCase: GetTagPostsUseCase
2322
) : ViewModel() {
2423

25-
private val _tagListData = MutableStateFlow<UiState<List<TagModel>>>(UiState.Loading)
26-
val tagListData: StateFlow<UiState<List<TagModel>>> = _tagListData.asStateFlow()
2724

2825
private val _tagPopularListData = MutableStateFlow<UiState<List<TagModel>>>(UiState.Loading)
2926
val tagPopularListData: StateFlow<UiState<List<TagModel>>> = _tagPopularListData.asStateFlow()
@@ -33,15 +30,6 @@ class SearchViewModel@Inject constructor(
3330

3431
init {
3532
getPopularTag()
36-
getTag()
37-
}
38-
39-
fun getTag() = viewModelScope.launch {
40-
getTagUseCase().collect {
41-
val tagList = it.toTagModelEntity()
42-
_tagListData.value = UiState.Success(tagList)
43-
Timber.d(it.toString())
44-
}
4533
}
4634

4735
fun getPopularTag() = viewModelScope.launch {

Diff for: presentation/src/main/java/com/velogm/presentation/ui/signin/SignViewModel.kt

+34
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,13 @@ package com.velogm.presentation.ui.signin
33
import androidx.lifecycle.ViewModel
44
import androidx.lifecycle.viewModelScope
55
import com.velogm.core_ui.view.UiState
6+
import com.velogm.domain.NetworkErrorHandling
7+
import com.velogm.domain.collectOutResult
68
import com.velogm.domain.repository.AuthRepository
79
import com.velogm.domain.usecase.AccessTokenUseCase
10+
import com.velogm.domain.usecase.GetTagUseCase
11+
import com.velogm.presentation.mapper.toTagModelEntity
12+
import com.velogm.presentation.model.TagModel
813
import dagger.hilt.android.lifecycle.HiltViewModel
914
import kotlinx.coroutines.flow.MutableStateFlow
1015
import kotlinx.coroutines.flow.StateFlow
@@ -15,10 +20,14 @@ import javax.inject.Inject
1520

1621
@HiltViewModel
1722
class SignViewModel @Inject constructor(
23+
private val getTagUseCase: GetTagUseCase,
1824
private val tokenUseCase: AccessTokenUseCase,
1925
private val authRepository: AuthRepository
2026
) : ViewModel() {
2127

28+
private val _tagListData = MutableStateFlow<UiState<List<TagModel>>>(UiState.Loading)
29+
val tagListData: StateFlow<UiState<List<TagModel>>> = _tagListData.asStateFlow()
30+
2231
private val _token = MutableStateFlow<UiState<String>>(UiState.Loading)
2332
val token: StateFlow<UiState<String>> = _token.asStateFlow()
2433

@@ -28,6 +37,31 @@ class SignViewModel @Inject constructor(
2837
private val _withdrawal = MutableStateFlow<UiState<Boolean>>(UiState.Loading)
2938
val withdrawal: StateFlow<UiState<Boolean>> = _withdrawal.asStateFlow()
3039

40+
init {
41+
getTag()
42+
}
43+
44+
fun getTag() = viewModelScope.launch {
45+
getTagUseCase().collectOutResult(
46+
handleSuccess = {
47+
val tagList = it.data.toTagModelEntity()
48+
_tagListData.value = UiState.Success(tagList)
49+
Timber.d(it.toString())
50+
},
51+
handleFail = {
52+
val errorHandling = when (it.error?.message) {
53+
"401" -> NetworkErrorHandling.Unauthorized
54+
"500" -> NetworkErrorHandling.ServerError
55+
else -> NetworkErrorHandling.OtherError
56+
}
57+
when (errorHandling) {
58+
is NetworkErrorHandling.Unauthorized -> postLogout()
59+
is NetworkErrorHandling.ServerError -> Timber.d("서버에러")
60+
is NetworkErrorHandling.OtherError -> Timber.d("다른에러")
61+
}
62+
}
63+
)
64+
}
3165
fun getGoogleLogin(code: String) = viewModelScope.launch {
3266
tokenUseCase(code).collect { token ->
3367
_token.value = UiState.Success(token.accessToken)

0 commit comments

Comments
 (0)