summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt
diff options
context:
space:
mode:
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt19
1 files changed, 9 insertions, 10 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt b/wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt
index 5826997..2476607 100644
--- a/wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt
+++ b/wallet/src/main/java/net/taler/wallet/backend/WalletResponse.kt
@@ -38,7 +38,7 @@ sealed class WalletResponse<T> {
@Serializable
@SerialName("error")
data class Error<T>(
- val error: WalletErrorInfo
+ val error: TalerErrorInfo
) : WalletResponse<T>()
fun onSuccess(block: (result: T) -> Unit): WalletResponse<T> {
@@ -46,35 +46,34 @@ sealed class WalletResponse<T> {
return this
}
- fun onError(block: (result: WalletErrorInfo) -> Unit): WalletResponse<T> {
+ fun onError(block: (result: TalerErrorInfo) -> Unit): WalletResponse<T> {
if (this is Error) block(this.error)
return this
}
}
@Serializable
-data class WalletErrorInfo(
+data class TalerErrorInfo(
// Numeric error code defined defined in the
// GANA gnu-taler-error-codes registry.
- val talerErrorCode: Int,
+ val code: Int,
// English description of the error code.
- val talerErrorHint: String,
+ val hint: String?,
// English diagnostic message that can give details
// for the instance of the error.
- val message: String,
+ val message: String?,
- // Error details, type depends on talerErrorCode
+ // Error details
@Serializable(JSONObjectDeserializer::class)
val details: JSONObject?
) {
val userFacingMsg: String
get() {
return StringBuilder().apply {
- append(talerErrorCode)
- append(" ")
- append(message)
+ append(code)
+ message?.let { append(" ").append(it) }
details?.let { details ->
append("\n\n")
details.optJSONObject("errorResponse")?.let { errorResponse ->