Add specific alteration error management.

This commit is contained in:
Thomas Andres Gomez 2025-04-01 22:18:55 +02:00
parent 6213d5ac15
commit f94a530621
48 changed files with 606 additions and 511 deletions

View file

@ -7,46 +7,52 @@ data class APIResponse<T>(
val success: Boolean,
val status: Int,
val message: String?,
val code: ErrorCode?,
val data: T?,
) {
@Serializable
enum class ErrorCode {
AlterationId,
AlterationName,
CharacterSheetId,
}
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,
code: ErrorCode? = null,
message: String?,
) = APIResponse(
success = false,
status = status,
code = code,
message = message,
data = null,
)
fun success() = APIResponse(
fun success(
status: Int = OK,
) = APIResponse(
success = true,
status = SUCCESS,
status = status,
code = null,
message = null,
data = null,
)
inline fun <reified T> success(
status: Int = OK,
data: T? = null,
) = APIResponse(
success = true,
status = SUCCESS,
status = status,
code = null,
message = null,
data = data,
)
const val OK = 200
const val BAD_REQUEST = 400
const val INTERNAL_ERROR = 500
}
}