ForecastServer.kt 775 B

123456789101112131415161718
  1. package com.ted.weather.data.server
  2. import com.ted.weather.data.db.ForecastDb
  3. import com.ted.weather.domain.datasource.ForecastDataSource
  4. import com.ted.weather.domain.model.ForecastList
  5. class ForecastServer(val dataMapper: ServerDataMapper = ServerDataMapper(),
  6. val forecastDb: ForecastDb = ForecastDb()) : ForecastDataSource {
  7. override fun requestForecastByZipCode(zipCode: Long, date: Long): ForecastList? {
  8. val result = ForecastByZipCodeRequest(zipCode).execute()
  9. val converted = dataMapper.convertToDomain(zipCode, result)
  10. forecastDb.saveForecast(converted)
  11. return forecastDb.requestForecastByZipCode(zipCode, date)
  12. }
  13. override fun requestDayForecast(id: Long) = throw UnsupportedOperationException()
  14. }