fix(android): throw a different error for removed stories

This commit is contained in:
Harsh Shandilya 2023-01-21 01:46:59 +05:30
parent 2cfe9d73a2
commit ddc7a7598d
No known key found for this signature in database
2 changed files with 12 additions and 1 deletions

View file

@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
### Changed
- Special-case deleted stories in comments API
## [1.17.0] - 2023-01-12 ## [1.17.0] - 2023-01-12
### Added ### Added

View file

@ -22,6 +22,7 @@ import dev.msfjarvis.claw.api.LobstersApi
import dev.msfjarvis.claw.database.local.SavedPost import dev.msfjarvis.claw.database.local.SavedPost
import dev.msfjarvis.claw.model.Comment import dev.msfjarvis.claw.model.Comment
import java.io.IOException import java.io.IOException
import java.net.HttpURLConnection
import java.time.Month import java.time.Month
import javax.inject.Inject import javax.inject.Inject
import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineDispatcher
@ -87,7 +88,13 @@ constructor(
is Success -> result.value is Success -> result.value
is Failure.NetworkFailure -> throw result.error is Failure.NetworkFailure -> throw result.error
is Failure.UnknownFailure -> throw result.error is Failure.UnknownFailure -> throw result.error
is Failure.HttpFailure, is Failure.HttpFailure -> {
if (result.code == HttpURLConnection.HTTP_NOT_FOUND) {
throw IOException("Story was removed by moderator")
} else {
throw IOException("API returned an invalid response")
}
}
is Failure.ApiFailure -> throw IOException("API returned an invalid response") is Failure.ApiFailure -> throw IOException("API returned an invalid response")
} }
} }