Помощник по ресурсам с привязкой к сети Без сохранения в базе данных

#android #kotlin #mvvm #kotlin-coroutines

Вопрос:

Я пытался создать сетевой ресурс, но я не хочу сохранять его в базе данных (например, в комнате). поэтому я создаю вспомогательную функцию в lambda, которая отображает ресурс из запроса API в репозитории.

  inline fun <T> fetchFromServer(
        crossinline fetch: suspend () -> Flow<ApiResponse<T>>
    ): Flow<Resource<T>>{
        return  flow {
            emit(Resource.Loading())
            when (val apiResponse = fetch().first()) {
                is ApiResponse.Success -> {
                    emit(Resource.Success(apiResponse.data))
                }
                is ApiResponse.Empty -> {
                    emit(Resource.Error("Empty data", null))
                }
                is ApiResponse.Error -> {
                    emit(Resource.Error(apiResponse.errorMessage, null))
                }
            }
        } as Flow<Resource<T>>
    }
 

в моем репозитории я вызываю функцию

 override suspend fun doLogin(param: Map<String, String>): Flow<Resource<SimpleModelDomain>> {
        val fetch = fetchFromServer {
            dataSource.doLogin(param)
        }

        return fetch.toDomain()
    }
 

почему функция fetchFromServer{} не может работать при срабатывании doLogin ()?. или есть другой способ создать сетевой ресурс, но пропустить сохранение в БД?