domain/src/main/java/com/github/leuludyha/domain/useCase/GetAuthorRemotelyUseCase.kt
package com.github.leuludyha.domain.useCase
import android.content.Context
import com.github.leuludyha.domain.model.library.Result
import com.github.leuludyha.domain.repository.LibraryRepository
import com.github.leuludyha.domain.util.NetworkProvider
import kotlinx.coroutines.flow.flowOf
class GetAuthorRemotelyUseCase(
private val libraryRepository: LibraryRepository,
private val networkProvider: NetworkProvider
) {
operator fun invoke(context: Context, authorId: String) =
try {
if(networkProvider.checkNetworkAvailable(context))
libraryRepository.getAuthorRemotely(authorId)
else
flowOf(Result.Error("No internet connection"))
} catch(e: Exception) {
flowOf(Result.Error("Could not fetch author"))
}
}