Now create the remote repository interface : .../kore/data/APODRepositoryRemote.kt
package xyz.mlumeau.kosmos.kore.data
import xyz.mlumeau.kosmos.kore.model.APOD
interface APODRepositoryRemote {
suspend fun getAPOD(): APOD?
fun getAPOD(completion: (APOD) -> Unit, failure: () -> Unit)
}
and the implementation : .../kore/data/APODRepositoryRemoteImpl.kt
Now create the remote repository interface : .../kore/data/APODRepositoryRemote.kt
package xyz.mlumeau.kosmos.kore.data
import xyz.mlumeau.kosmos.kore.model.APOD
interface APODRepositoryRemote { suspend fun getAPOD(): APOD? fun getAPOD(completion: (APOD) -> Unit, failure: () -> Unit) } and the implementation : .../kore/data/APODRepositoryRemoteImpl.kt
package xyz.mlumeau.kosmos.kore.data
import xyz.mlumeau.kosmos.kore.model.APOD import xyz.mlumeau.kosmos.kore.NasaAPIRemote import xyz.mlumeau.kosmos.kore.requestAPOD import xyz.mlumeau.kosmos.kore.service.nasa.NasaApi
class APODRepositoryRemoteImpl : APODRepositoryRemote { private val nasaAPI: NasaApi = NasaAPIRemote()
}