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

@ -39,7 +39,7 @@ class AlterationStore(
alterationFlow.value = try {
load()
} catch (exception: Exception) {
println(exception) // TODO proper exception handling
println(exception.message) // TODO proper exception handling
emptyList()
}
}

View file

@ -38,7 +38,7 @@ class CampaignStore(
campaignFlow.value = try {
load()
} catch (exception: Exception) {
println(exception) // TODO proper exception handling
println(exception.message) // TODO proper exception handling
Campaign.empty()
}
}

View file

@ -38,7 +38,7 @@ class CharacterSheetStore(
characterSheetsFlow.value = try {
load()
} catch (exception: Exception) {
println(exception) // TODO proper exception handling
println(exception.message) // TODO proper exception handling
emptyList()
}
}

View file

@ -49,7 +49,7 @@ class TagStore(
flow.value = try {
file.readTags().associateBy { it.id }
} catch (exception: Exception) {
println(exception) // TODO proper exception handling
println(exception.message) // TODO proper exception handling
emptyMap()
}
}

View file

@ -24,7 +24,7 @@ class Engine(
try {
unSafeHandle(message)
} catch (exception: Exception) {
println(exception) // TODO proper exception handling
println(exception.message) // TODO proper exception handling
}
}

View file

@ -3,7 +3,7 @@ package com.pixelized.server.lwa.server.rest.alteration
import com.pixelized.server.lwa.server.Engine
import com.pixelized.server.lwa.utils.extentions.MissingParameterException
import com.pixelized.server.lwa.utils.extentions.alterationId
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import com.pixelized.shared.lwa.protocol.websocket.ApiSynchronisation
import io.ktor.server.response.respond
import io.ktor.server.routing.RoutingContext
@ -19,7 +19,7 @@ fun Engine.deleteAlteration(): suspend RoutingContext.() -> Unit {
)
// API & WebSocket responses.
call.respond(
message = ResultJson.Success(),
message = APIResponse.success(),
)
webSocket.emit(
value = ApiSynchronisation.AlterationDelete(
@ -29,15 +29,15 @@ fun Engine.deleteAlteration(): suspend RoutingContext.() -> Unit {
)
} catch (exception: MissingParameterException) {
call.respond(
message = ResultJson.Error(
message = APIResponse.error(
status = exception.errorCode,
message = exception.message ?: "?",
)
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -2,7 +2,7 @@ package com.pixelized.server.lwa.server.rest.alteration
import com.pixelized.server.lwa.server.Engine
import com.pixelized.server.lwa.utils.extentions.alterationId
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import io.ktor.server.response.respond
import io.ktor.server.routing.RoutingContext
@ -17,12 +17,14 @@ fun Engine.getAlteration(): suspend RoutingContext.() -> Unit {
?: error("Alteration with id:$alterationId not found.")
// send it back to the user.
call.respond(
message = alteration,
message = APIResponse.success(
data = alteration
)
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -1,7 +1,7 @@
package com.pixelized.server.lwa.server.rest.alteration
import com.pixelized.server.lwa.server.Engine
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import io.ktor.server.response.respond
import io.ktor.server.routing.RoutingContext
@ -9,12 +9,14 @@ fun Engine.getAlterationTags(): suspend RoutingContext.() -> Unit {
return {
try {
call.respond(
message = alterationService.tags(),
message = APIResponse.success(
data = alterationService.tags(),
),
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -1,7 +1,7 @@
package com.pixelized.server.lwa.server.rest.alteration
import com.pixelized.server.lwa.server.Engine
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import io.ktor.server.response.respond
import io.ktor.server.routing.RoutingContext
@ -9,12 +9,14 @@ fun Engine.getAlterations(): suspend RoutingContext.() -> Unit {
return {
try {
call.respond(
message = alterationService.alterations(),
message = APIResponse.success(
data = alterationService.alterations(),
)
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -4,7 +4,7 @@ import com.pixelized.server.lwa.server.Engine
import com.pixelized.server.lwa.utils.extentions.MissingParameterException
import com.pixelized.server.lwa.utils.extentions.create
import com.pixelized.shared.lwa.model.alteration.AlterationJson
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import com.pixelized.shared.lwa.protocol.websocket.ApiSynchronisation
import io.ktor.server.request.receive
import io.ktor.server.response.respond
@ -21,7 +21,7 @@ fun Engine.putAlteration(): suspend RoutingContext.() -> Unit {
create = create,
)
call.respond(
message = ResultJson.Success(),
message = APIResponse.success(),
)
webSocket.emit(
value = ApiSynchronisation.AlterationUpdate(
@ -31,15 +31,15 @@ fun Engine.putAlteration(): suspend RoutingContext.() -> Unit {
)
} catch (exception: MissingParameterException) {
call.respond(
message = ResultJson.Error(
message = APIResponse.error(
status = exception.errorCode,
message = exception.message ?: "?",
)
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -3,7 +3,7 @@ package com.pixelized.server.lwa.server.rest.campaign
import com.pixelized.server.lwa.server.Engine
import com.pixelized.server.lwa.utils.extentions.MissingParameterException
import com.pixelized.server.lwa.utils.extentions.characterSheetId
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import com.pixelized.shared.lwa.protocol.websocket.CampaignEvent
import io.ktor.server.response.respond
import io.ktor.server.routing.RoutingContext
@ -19,7 +19,7 @@ fun Engine.removeCampaignCharacter(): suspend RoutingContext.() -> Unit {
)
// API & WebSocket responses
call.respond(
message = ResultJson.Success(),
message = APIResponse.success(),
)
webSocket.emit(
value = CampaignEvent.CharacterRemoved(
@ -29,15 +29,15 @@ fun Engine.removeCampaignCharacter(): suspend RoutingContext.() -> Unit {
)
} catch (exception: MissingParameterException) {
call.respond(
message = ResultJson.Error(
message = APIResponse.error(
status = exception.errorCode,
message = exception.message ?: "?",
)
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -3,7 +3,7 @@ package com.pixelized.server.lwa.server.rest.campaign
import com.pixelized.server.lwa.server.Engine
import com.pixelized.server.lwa.utils.extentions.MissingParameterException
import com.pixelized.server.lwa.utils.extentions.characterSheetId
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import com.pixelized.shared.lwa.protocol.websocket.CampaignEvent
import io.ktor.server.response.respond
import io.ktor.server.routing.RoutingContext
@ -19,7 +19,7 @@ fun Engine.removeCampaignNpc(): suspend RoutingContext.() -> Unit {
)
// API & WebSocket responses
call.respond(
message = ResultJson.Success(),
message = APIResponse.success(),
)
webSocket.emit(
value = CampaignEvent.NpcRemoved(
@ -29,15 +29,15 @@ fun Engine.removeCampaignNpc(): suspend RoutingContext.() -> Unit {
)
} catch (exception: MissingParameterException) {
call.respond(
message = ResultJson.Error(
message = APIResponse.error(
status = exception.errorCode,
message = exception.message ?: "?",
)
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -1,7 +1,7 @@
package com.pixelized.server.lwa.server.rest.campaign
import com.pixelized.server.lwa.server.Engine
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import io.ktor.server.response.respond
import io.ktor.server.routing.RoutingContext
@ -9,12 +9,14 @@ fun Engine.getCampaign(): suspend RoutingContext.() -> Unit {
return {
try {
call.respond(
message = campaignService.campaignJson(),
message = APIResponse.success(
data = campaignService.campaignJson(),
),
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -3,7 +3,7 @@ package com.pixelized.server.lwa.server.rest.campaign
import com.pixelized.server.lwa.server.Engine
import com.pixelized.server.lwa.utils.extentions.MissingParameterException
import com.pixelized.server.lwa.utils.extentions.characterSheetId
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import com.pixelized.shared.lwa.protocol.websocket.CampaignEvent
import io.ktor.server.response.respond
import io.ktor.server.routing.RoutingContext
@ -19,7 +19,7 @@ fun Engine.putCampaignCharacter(): suspend RoutingContext.() -> Unit {
)
// API & WebSocket responses.
call.respond(
message = ResultJson.Success(),
message = APIResponse.success(),
)
webSocket.emit(
value = CampaignEvent.CharacterAdded(
@ -29,15 +29,15 @@ fun Engine.putCampaignCharacter(): suspend RoutingContext.() -> Unit {
)
} catch (exception: MissingParameterException) {
call.respond(
message = ResultJson.Error(
message = APIResponse.error(
status = exception.errorCode,
message = exception.message ?: "?",
)
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -3,7 +3,7 @@ package com.pixelized.server.lwa.server.rest.campaign
import com.pixelized.server.lwa.server.Engine
import com.pixelized.server.lwa.utils.extentions.MissingParameterException
import com.pixelized.server.lwa.utils.extentions.characterSheetId
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import com.pixelized.shared.lwa.protocol.websocket.CampaignEvent
import io.ktor.server.response.respond
import io.ktor.server.routing.RoutingContext
@ -19,7 +19,7 @@ fun Engine.putCampaignNpc(): suspend RoutingContext.() -> Unit {
)
// API & WebSocket responses.
call.respond(
message = ResultJson.Success(),
message = APIResponse.success(),
)
webSocket.emit(
value = CampaignEvent.NpcAdded(
@ -29,15 +29,15 @@ fun Engine.putCampaignNpc(): suspend RoutingContext.() -> Unit {
)
} catch (exception: MissingParameterException) {
call.respond(
message = ResultJson.Error(
message = APIResponse.error(
status = exception.errorCode,
message = exception.message ?: "?",
)
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -3,7 +3,7 @@ package com.pixelized.server.lwa.server.rest.campaign
import com.pixelized.server.lwa.server.Engine
import com.pixelized.server.lwa.utils.extentions.MissingParameterException
import com.pixelized.shared.lwa.model.campaign.CampaignJsonV2
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import com.pixelized.shared.lwa.protocol.websocket.CampaignEvent
import io.ktor.server.request.receive
import io.ktor.server.response.respond
@ -17,10 +17,12 @@ fun Engine.putCampaignScene(): suspend RoutingContext.() -> Unit {
// convert the scene into the a usable data model.
val scene = campaignJsonFactory.convertFromJson(json = form)
// update the campaign.
campaignService.setScene(scene = scene)
campaignService.setScene(
scene = scene,
)
// API & WebSocket responses
call.respond(
message = ResultJson.Success(),
message = APIResponse.success(),
)
webSocket.emit(
value = CampaignEvent.UpdateScene(
@ -30,15 +32,15 @@ fun Engine.putCampaignScene(): suspend RoutingContext.() -> Unit {
)
} catch (exception: MissingParameterException) {
call.respond(
message = ResultJson.Error(
message = APIResponse.error(
status = exception.errorCode,
message = exception.message ?: "?",
)
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -3,7 +3,7 @@ package com.pixelized.server.lwa.server.rest.character
import com.pixelized.server.lwa.server.Engine
import com.pixelized.server.lwa.utils.extentions.MissingParameterException
import com.pixelized.server.lwa.utils.extentions.characterSheetId
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import com.pixelized.shared.lwa.protocol.websocket.ApiSynchronisation
import io.ktor.server.response.respond
import io.ktor.server.routing.RoutingContext
@ -19,7 +19,7 @@ fun Engine.deleteCharacter(): suspend RoutingContext.() -> Unit {
)
// API & WebSocket responses.
call.respond(
message = ResultJson.Success()
message = APIResponse.success()
)
webSocket.emit(
value = ApiSynchronisation.CharacterSheetDelete(
@ -29,15 +29,15 @@ fun Engine.deleteCharacter(): suspend RoutingContext.() -> Unit {
)
} catch (exception: MissingParameterException) {
call.respond(
message = ResultJson.Error(
message = APIResponse.error(
status = exception.errorCode,
message = exception.message ?: "?",
)
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -3,7 +3,7 @@ package com.pixelized.server.lwa.server.rest.character
import com.pixelized.server.lwa.server.Engine
import com.pixelized.server.lwa.utils.extentions.MissingParameterException
import com.pixelized.server.lwa.utils.extentions.characterSheetId
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import io.ktor.server.response.respond
import io.ktor.server.routing.RoutingContext
@ -18,19 +18,21 @@ fun Engine.getCharacter(): suspend RoutingContext.() -> Unit {
?: error("CharacterSheet with id:$characterSheetId not found.")
// send it back to the user.
call.respond(
message = characterSheet,
message = APIResponse.success(
data = characterSheet,
),
)
} catch (exception: MissingParameterException) {
call.respond(
message = ResultJson.Error(
message = APIResponse.error(
status = exception.errorCode,
message = exception.message ?: "?",
)
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -1,7 +1,7 @@
package com.pixelized.server.lwa.server.rest.character
import com.pixelized.server.lwa.server.Engine
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import io.ktor.server.response.respond
import io.ktor.server.routing.RoutingContext
@ -9,12 +9,14 @@ fun Engine.getCharacterTags(): suspend RoutingContext.() -> Unit {
return {
try {
call.respond(
message = characterService.tags(),
message = APIResponse.success(
data = characterService.tags(),
),
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -1,7 +1,7 @@
package com.pixelized.server.lwa.server.rest.character
import com.pixelized.server.lwa.server.Engine
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import io.ktor.server.response.respond
import io.ktor.server.routing.RoutingContext
@ -9,12 +9,14 @@ fun Engine.getCharacters(): suspend RoutingContext.() -> Unit {
return {
try {
call.respond(
message = characterService.charactersJson(),
message = APIResponse.success(
data = characterService.charactersJson(),
),
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -4,7 +4,7 @@ import com.pixelized.server.lwa.server.Engine
import com.pixelized.server.lwa.utils.extentions.MissingParameterException
import com.pixelized.server.lwa.utils.extentions.create
import com.pixelized.shared.lwa.model.characterSheet.CharacterSheetJson
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import com.pixelized.shared.lwa.protocol.websocket.ApiSynchronisation
import io.ktor.server.request.receive
import io.ktor.server.response.respond
@ -20,7 +20,7 @@ fun Engine.putCharacter(): suspend RoutingContext.() -> Unit {
create = create,
)
call.respond(
message = ResultJson.Success()
message = APIResponse.success()
)
webSocket.emit(
value = ApiSynchronisation.CharacterSheetUpdate(
@ -30,15 +30,15 @@ fun Engine.putCharacter(): suspend RoutingContext.() -> Unit {
)
} catch (exception: MissingParameterException) {
call.respond(
message = ResultJson.Error(
message = APIResponse.error(
status = exception.errorCode,
message = exception.message ?: "?",
)
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -5,7 +5,7 @@ import com.pixelized.server.lwa.utils.extentions.MissingParameterException
import com.pixelized.server.lwa.utils.extentions.active
import com.pixelized.server.lwa.utils.extentions.alterationId
import com.pixelized.server.lwa.utils.extentions.characterSheetId
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import com.pixelized.shared.lwa.protocol.websocket.CharacterSheetEvent
import io.ktor.server.response.respond
import io.ktor.server.routing.RoutingContext
@ -25,7 +25,7 @@ fun Engine.putCharacterAlteration(): suspend RoutingContext.() -> Unit {
)
// API & WebSocket responses.
call.respond(
message = ResultJson.Success()
message = APIResponse.success()
)
webSocket.emit(
value = CharacterSheetEvent.UpdateAlteration(
@ -37,15 +37,15 @@ fun Engine.putCharacterAlteration(): suspend RoutingContext.() -> Unit {
)
} catch (exception: MissingParameterException) {
call.respond(
message = ResultJson.Error(
message = APIResponse.error(
status = exception.errorCode,
message = exception.message ?: "?",
)
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -3,7 +3,7 @@ package com.pixelized.server.lwa.server.rest.character
import com.pixelized.server.lwa.server.Engine
import com.pixelized.server.lwa.utils.extentions.MissingParameterException
import com.pixelized.server.lwa.utils.extentions.characterSheetId
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import com.pixelized.shared.lwa.protocol.websocket.CharacterSheetEvent
import io.ktor.server.response.respond
import io.ktor.server.routing.RoutingContext
@ -16,7 +16,7 @@ fun Engine.putCharacterDamage(): suspend RoutingContext.() -> Unit {
val damage = call.queryParameters["damage"]?.toIntOrNull()
?: throw MissingParameterException(
name = "damage",
errorCode = ResultJson.Error.MISSING_DAMAGE
errorCode = APIResponse.MISSING_DAMAGE
)
// fetch the character sheet
val characterSheet = characterService.character(characterSheetId)
@ -28,7 +28,7 @@ fun Engine.putCharacterDamage(): suspend RoutingContext.() -> Unit {
)
// API & WebSocket responses.
call.respond(
message = ResultJson.Success()
message = APIResponse.success()
)
webSocket.emit(
value = CharacterSheetEvent.UpdateDamage(
@ -40,15 +40,15 @@ fun Engine.putCharacterDamage(): suspend RoutingContext.() -> Unit {
)
} catch (exception: MissingParameterException) {
call.respond(
message = ResultJson.Error(
message = APIResponse.error(
status = exception.errorCode,
message = exception.message ?: "?",
)
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -3,7 +3,7 @@ package com.pixelized.server.lwa.server.rest.character
import com.pixelized.server.lwa.server.Engine
import com.pixelized.server.lwa.utils.extentions.MissingParameterException
import com.pixelized.server.lwa.utils.extentions.characterSheetId
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import com.pixelized.shared.lwa.protocol.websocket.CharacterSheetEvent
import io.ktor.server.response.respond
import io.ktor.server.routing.RoutingContext
@ -16,7 +16,7 @@ fun Engine.putCharacterDiminished(): suspend RoutingContext.() -> Unit {
val diminished = call.queryParameters["diminished"]?.toIntOrNull()
?: throw MissingParameterException(
name = "diminished",
errorCode = ResultJson.Error.MISSING_DIMINISHED
errorCode = APIResponse.MISSING_DIMINISHED
)
// Update the character damage
characterService.updateDiminished(
@ -25,7 +25,7 @@ fun Engine.putCharacterDiminished(): suspend RoutingContext.() -> Unit {
)
// API & WebSocket responses.
call.respond(
message = ResultJson.Success()
message = APIResponse.success()
)
webSocket.emit(
value = CharacterSheetEvent.UpdateDiminished(
@ -36,15 +36,15 @@ fun Engine.putCharacterDiminished(): suspend RoutingContext.() -> Unit {
)
} catch (exception: MissingParameterException) {
call.respond(
message = ResultJson.Error(
message = APIResponse.error(
status = exception.errorCode,
message = exception.message ?: "?",
)
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -3,7 +3,7 @@ package com.pixelized.server.lwa.server.rest.character
import com.pixelized.server.lwa.server.Engine
import com.pixelized.server.lwa.utils.extentions.MissingParameterException
import com.pixelized.server.lwa.utils.extentions.characterSheetId
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import com.pixelized.shared.lwa.protocol.websocket.CharacterSheetEvent
import io.ktor.server.response.respond
import io.ktor.server.routing.RoutingContext
@ -16,7 +16,7 @@ fun Engine.putCharacterFatigue(): suspend RoutingContext.() -> Unit {
val fatigue = call.queryParameters["fatigue"]?.toIntOrNull()
?: throw MissingParameterException(
name = "fatigue",
errorCode = ResultJson.Error.MISSING_FATIGUE
errorCode = APIResponse.MISSING_FATIGUE
)
// fetch the character sheet
val characterSheet = characterService.character(characterSheetId)
@ -28,7 +28,7 @@ fun Engine.putCharacterFatigue(): suspend RoutingContext.() -> Unit {
)
// API & WebSocket responses.
call.respond(
message = ResultJson.Success()
message = APIResponse.success()
)
webSocket.emit(
value = CharacterSheetEvent.UpdateFatigue(
@ -40,15 +40,15 @@ fun Engine.putCharacterFatigue(): suspend RoutingContext.() -> Unit {
)
} catch (exception: MissingParameterException) {
call.respond(
message = ResultJson.Error(
message = APIResponse.error(
status = exception.errorCode,
message = exception.message ?: "?",
)
)
} catch (exception: Exception) {
call.respond(
message = ResultJson.Error(
status = ResultJson.Error.GENERIC,
message = APIResponse.error(
status = APIResponse.GENERIC,
message = exception.message ?: "?",
)
)

View file

@ -1,13 +1,13 @@
package com.pixelized.server.lwa.utils.extentions
import com.pixelized.shared.lwa.protocol.rest.ResultJson
import com.pixelized.shared.lwa.protocol.rest.APIResponse
import io.ktor.http.Parameters
val Parameters.characterSheetId
get() = "characterSheetId".let { param ->
this[param] ?: throw MissingParameterException(
name = param,
errorCode = ResultJson.Error.MISSING_CHARACTER_SHEET_ID,
errorCode = APIResponse.MISSING_CHARACTER_SHEET_ID,
)
}
@ -15,7 +15,7 @@ val Parameters.alterationId
get() = "alterationId".let { param ->
this[param] ?: throw MissingParameterException(
name = param,
errorCode = ResultJson.Error.MISSING_ALTERATION_ID,
errorCode = APIResponse.MISSING_ALTERATION_ID,
)
}
@ -23,7 +23,7 @@ val Parameters.create
get() = "create".let { param ->
this[param]?.toBooleanStrictOrNull() ?: throw MissingParameterException(
name = param,
errorCode = ResultJson.Error.MISSING_CREATE
errorCode = APIResponse.MISSING_CREATE
)
}
@ -31,7 +31,7 @@ val Parameters.active
get() = "active".let { param ->
this[param]?.toBooleanStrictOrNull() ?: throw MissingParameterException(
name = param,
errorCode = ResultJson.Error.MISSING_ACTIVE
errorCode = APIResponse.MISSING_ACTIVE
)
}