Compare commits

...

2 commits

2 changed files with 7 additions and 16 deletions

View file

@ -12,11 +12,11 @@ object ProfileRepository {
), ),
) )
fun getById(id: UInt): Profile? { fun get(id: UInt): Profile? {
return profiles.get(id) return profiles.get(id)
} }
fun deleteById(id: UInt): Boolean { fun delete(id: UInt): Boolean {
return profiles.remove(id) != null return profiles.remove(id) != null
} }
} }

View file

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