Skip to content

Commit

Permalink
re-add put and post routes
Browse files Browse the repository at this point in the history
  • Loading branch information
Steffen Lien committed Mar 11, 2022
1 parent 18005b9 commit fce7770
Showing 1 changed file with 30 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
package no.nav.mulighetsrommet.api.routes

import io.ktor.application.call
import io.ktor.features.BadRequestException
import io.ktor.http.HttpStatusCode
import io.ktor.request.receive
import io.ktor.response.respond
import io.ktor.response.respondText
import io.ktor.routing.Route
import io.ktor.routing.get
import io.ktor.routing.post
import io.ktor.routing.put
import no.nav.mulighetsrommet.api.domain.Tiltakskode
import no.nav.mulighetsrommet.api.domain.Tiltakstype
import no.nav.mulighetsrommet.api.services.TiltaksgjennomforingService
import no.nav.mulighetsrommet.api.services.TiltakstypeService
import org.koin.ktor.ext.inject

// TODO: Må lage noe felles validering her etterhvert
fun Route.tiltakstypeRoutes() {

val tiltakstypeService: TiltakstypeService by inject()
Expand All @@ -24,8 +30,8 @@ fun Route.tiltakstypeRoutes() {
runCatching {
val tiltakskode = Tiltakskode.valueOf(call.parameters["tiltakskode"]!!)
tiltakstypeService.getTiltakstypeByTiltakskode(tiltakskode)
}.onSuccess { tiltakstype ->
call.respond(tiltakstype!!)
}.onSuccess { fetchedTiltakstype ->
call.respond(fetchedTiltakstype!!)
}.onFailure {
call.respondText(text = "Fant ikke tiltakstype", status = HttpStatusCode.NotFound)
}
Expand All @@ -34,8 +40,28 @@ fun Route.tiltakstypeRoutes() {
runCatching {
val tiltakskode = Tiltakskode.valueOf(call.parameters["tiltakskode"]!!)
tiltaksgjennomforingService.getTiltaksgjennomforingerByTiltakskode(tiltakskode)
}.onSuccess { tiltaksgjennomforinger ->
call.respond(tiltaksgjennomforinger)
}.onSuccess { fetchedTiltaksgjennomforinger ->
call.respond(fetchedTiltaksgjennomforinger)
}.onFailure { call.respondText("Fant ikke tiltakstype", status = HttpStatusCode.NotFound) }
}
post("/api/tiltakstyper") {
runCatching {
val tiltakstype = call.receive<Tiltakstype>()
tiltakstypeService.createTiltakstype(tiltakstype)
}.onSuccess { createdTiltakstype ->
call.respond(createdTiltakstype)
}.onFailure { call.respondText("Kunne ikke opprette tiltakstype", status = HttpStatusCode.InternalServerError) }
}
put("/api/tiltakstyper/{tiltakskode}") {
runCatching {
val tiltakskode = Tiltakskode.valueOf(call.parameters["tiltakskode"]!!)
val tiltakstype = call.receive<Tiltakstype>()
if (tiltakskode != tiltakstype.tiltakskode) {
throw BadRequestException("Tiltakskode er ikke lik")
}
tiltakstypeService.updateTiltakstype(tiltakstype)
}.onSuccess { updatedTiltakstype ->
call.respond(updatedTiltakstype)
}
}
}

0 comments on commit fce7770

Please sign in to comment.