@@ -8,6 +8,7 @@ import androidx.paging.map
88import com.terning.core.designsystem.state.UiState
99import com.terning.core.designsystem.type.SortBy
1010import com.terning.domain.home.entity.ChangeFilteringRequestModel
11+ import com.terning.domain.home.entity.FcmToken
1112import com.terning.domain.home.entity.HomeRecommendIntern
1213import com.terning.domain.home.entity.HomeRecommendedIntern
1314import com.terning.domain.home.repository.HomeRepository
@@ -25,6 +26,7 @@ import kotlinx.coroutines.flow.flatMapLatest
2526import kotlinx.coroutines.flow.flow
2627import kotlinx.coroutines.flow.update
2728import kotlinx.coroutines.launch
29+ import timber.log.Timber
2830import javax.inject.Inject
2931import com.terning.core.designsystem.R as DesignSystemR
3032
@@ -224,6 +226,22 @@ class HomeViewModel @Inject constructor(
224226 userRepository.setPermissionRequested(requested)
225227 }
226228
227- fun getPermissionRequested () : Boolean = userRepository.getPermissionRequested()
229+ fun getPermissionRequested (): Boolean = userRepository.getPermissionRequested()
228230
231+ fun fetchAndSaveFcmToken () {
232+ viewModelScope.launch {
233+ userRepository.fetchAndSetFcmToken()
234+ .onSuccess {
235+ sendFcmToken()
236+ }.onFailure(Timber ::e)
237+ }
238+ }
239+
240+ private fun sendFcmToken () {
241+ viewModelScope.launch {
242+ homeRepository.sendFcmToken(
243+ FcmToken (userRepository.getFcmToken())
244+ ).onFailure(Timber ::e)
245+ }
246+ }
229247}
0 commit comments