refactor: cleaner str-to-int with 400 response on err

This commit is contained in:
DarkCat09 2024-06-21 16:58:39 +04:00
parent ae2d98fa1f
commit 591cd28eb4
Signed by: DarkCat09
GPG key ID: 0A26CD5B3345D6E3

View file

@ -3,6 +3,7 @@ package su.coolpeople.plugins
import io.ktor.server.application.*
import io.ktor.server.response.*
import io.ktor.server.routing.*
import io.ktor.server.plugins.BadRequestException
import io.ktor.http.HttpStatusCode
import su.coolpeople.model.ProfileRepository
import kotlin.text.toUInt
@ -15,12 +16,7 @@ fun Application.configureRouting() {
}
get("/{id}") {
val id = try {
call.parameters["id"]!!.toUInt()
} catch (ex: kotlin.NumberFormatException) {
call.respond(HttpStatusCode.BadRequest)
return@get
}
val id = call.parameters["id"]?.toUIntOrNull() ?: throw BadRequestException("Invalid ID")
val profile = ProfileRepository.get(id)
if (profile == null) {
@ -32,12 +28,7 @@ fun Application.configureRouting() {
}
delete("/{id}") {
val id = try {
call.parameters["id"]!!.toUInt()
} catch (ex: kotlin.NumberFormatException) {
call.respond(HttpStatusCode.BadRequest)
return@delete
}
val id = call.parameters["id"]?.toUIntOrNull() ?: throw BadRequestException("Invalid ID")
if (!ProfileRepository.delete(id)) {
call.respond(HttpStatusCode.NotFound)