Client : Error management

This commit is contained in:
Thomas Andres Gomez 2025-04-01 16:01:43 +02:00
parent d806048510
commit 1ebb7c1400
48 changed files with 630 additions and 473 deletions

View file

@ -0,0 +1,52 @@
package com.pixelized.shared.lwa.protocol.rest
import kotlinx.serialization.Serializable
@Serializable
data class APIResponse<T>(
val success: Boolean,
val status: Int,
val message: String?,
val data: T?,
) {
companion object {
const val SUCCESS = 100
const val GENERIC = 600
const val MISSING_PARAMETER = 700
const val MISSING_CHARACTER_SHEET_ID = MISSING_PARAMETER + 1
const val MISSING_ALTERATION_ID = MISSING_PARAMETER + 2
const val MISSING_CREATE = MISSING_PARAMETER + 3
const val MISSING_ACTIVE = MISSING_PARAMETER + 4
const val MISSING_DAMAGE = MISSING_PARAMETER + 5
const val MISSING_FATIGUE = MISSING_PARAMETER + 6
const val MISSING_DIMINISHED = MISSING_PARAMETER + 7
fun error(
status: Int,
message: String?,
) = APIResponse(
success = false,
status = status,
message = message,
data = null,
)
fun success() = APIResponse(
success = true,
status = SUCCESS,
message = null,
data = null,
)
inline fun <reified T> success(
data: T? = null,
) = APIResponse(
success = true,
status = SUCCESS,
message = null,
data = data,
)
}
}

View file

@ -1,34 +0,0 @@
package com.pixelized.shared.lwa.protocol.rest
import kotlinx.serialization.Serializable
@Serializable
sealed interface ResultJson {
val success: Boolean
@Serializable
data class Error(
override val success: Boolean = false,
val status: Int,
val message: String,
) : ResultJson {
companion object {
const val GENERIC = 600
const val MISSING_PARAMETER = 700
const val MISSING_CHARACTER_SHEET_ID = MISSING_PARAMETER + 1
const val MISSING_ALTERATION_ID = MISSING_PARAMETER + 2
const val MISSING_CREATE = MISSING_PARAMETER + 3
const val MISSING_ACTIVE = MISSING_PARAMETER + 4
const val MISSING_DAMAGE = MISSING_PARAMETER + 5
const val MISSING_FATIGUE = MISSING_PARAMETER + 6
const val MISSING_DIMINISHED = MISSING_PARAMETER + 7
}
}
@Serializable
data class Success(
override val success: Boolean = true,
val status: Int = 100,
) : ResultJson
}