mirror of
https://github.com/dyrkin/luxmed-bot.git
synced 2025-12-28 16:06:38 +01:00
better handle server errors
This commit is contained in:
@@ -81,6 +81,7 @@ package object http extends StrictLogging {
|
||||
case _ =>
|
||||
Try(body.as[LuxmedErrorsMap])
|
||||
.orElse(Try(body.as[LuxmedError]))
|
||||
.orElse(Try(body.as[LuxmedErrorsList]))
|
||||
.map(error => luxmedErrorToApiException(code, error))
|
||||
.toOption
|
||||
}
|
||||
|
||||
@@ -1,3 +1,14 @@
|
||||
package com.lbs.api.json.model
|
||||
|
||||
case class LuxmedError(message: String) extends SerializableJsonObject with LuxmedBaseError
|
||||
/**
|
||||
* {
|
||||
"ErrorCode": 301,
|
||||
"Message": "Obecnie zainstalowana wersja aplikacji nie jest wspierana przez nowy system Portalu Pacjenta. Zaktualizuj aplikację do najnowszej wersji, aby móc z niej korzystać.",
|
||||
"AdditionalData": {
|
||||
"ShopUrl": "itms-apps://apps.apple.com/pl/app/id552592684",
|
||||
"FallbackUrl": "itms-apps://apps.apple.com/pl/app/id552592684",
|
||||
"Title": "Zaktualizuj aplikację"
|
||||
}
|
||||
}
|
||||
*/
|
||||
case class LuxmedError(errorCode: Int, message: String) extends SerializableJsonObject with LuxmedBaseError
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.lbs.api.json.model
|
||||
|
||||
/**
|
||||
* {
|
||||
"Errors": [
|
||||
{
|
||||
"ErrorCode": 301,
|
||||
"Message": "Obecnie zainstalowana wersja aplikacji nie jest wspierana przez nowy system Portalu Pacjenta. Zaktualizuj aplikację do najnowszej wersji, aby móc z niej korzystać.",
|
||||
"AdditionalData": {
|
||||
"ShopUrl": "itms-apps://apps.apple.com/pl/app/id552592684",
|
||||
"FallbackUrl": "itms-apps://apps.apple.com/pl/app/id552592684",
|
||||
"Title": "Zaktualizuj aplikację"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
*/
|
||||
|
||||
case class LuxmedErrorsList(errors: List[LuxmedError]) extends SerializableJsonObject with LuxmedBaseError {
|
||||
override def message: String = errors.map(e => s"ErrorCode: ${e.errorCode}. Message: ${e.message}").mkString("; ")
|
||||
}
|
||||
Reference in New Issue
Block a user