Skip to content

Commit f80de6f

Browse files
committed
Håndterer feil dersom en prøver å starte behandling på en søknad uten relevante tiltak
1 parent adf3aa4 commit f80de6f

File tree

4 files changed

+19
-13
lines changed

4 files changed

+19
-13
lines changed

app/src/main/kotlin/no/nav/tiltakspenger/vedtak/routes/behandling/StartBehandlingRoute.kt

+5-10
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,17 @@ import io.ktor.server.routing.post
77
import mu.KotlinLogging
88
import no.nav.tiltakspenger.libs.auth.core.TokenService
99
import no.nav.tiltakspenger.libs.auth.ktor.withSaksbehandler
10-
import no.nav.tiltakspenger.saksbehandling.domene.behandling.KanIkkeOppretteBehandling.FantIkkeTiltak
11-
import no.nav.tiltakspenger.saksbehandling.domene.behandling.KanIkkeOppretteBehandling.StøtterKunInnvilgelse
10+
import no.nav.tiltakspenger.saksbehandling.domene.behandling.KanIkkeOppretteBehandling
1211
import no.nav.tiltakspenger.saksbehandling.service.behandling.StartSøknadsbehandlingService
1312
import no.nav.tiltakspenger.saksbehandling.service.sak.KanIkkeStarteSøknadsbehandling
1413
import no.nav.tiltakspenger.vedtak.auditlog.AuditLogEvent
1514
import no.nav.tiltakspenger.vedtak.auditlog.AuditService
1615
import no.nav.tiltakspenger.vedtak.routes.behandling.dto.toDTO
1716
import no.nav.tiltakspenger.vedtak.routes.correlationId
18-
import no.nav.tiltakspenger.vedtak.routes.exceptionhandling.Standardfeil.fantIkkeTiltak
1917
import no.nav.tiltakspenger.vedtak.routes.exceptionhandling.Standardfeil.ikkeTilgang
20-
import no.nav.tiltakspenger.vedtak.routes.exceptionhandling.Standardfeil.støtterIkkeDelvisEllerAvslag
2118
import no.nav.tiltakspenger.vedtak.routes.exceptionhandling.respond400BadRequest
2219
import no.nav.tiltakspenger.vedtak.routes.exceptionhandling.respond403Forbidden
23-
import no.nav.tiltakspenger.vedtak.routes.exceptionhandling.respond500InternalServerError
20+
import no.nav.tiltakspenger.vedtak.routes.exceptionhandling.respond501NotImplemented
2421
import no.nav.tiltakspenger.vedtak.routes.withSakId
2522
import no.nav.tiltakspenger.vedtak.routes.withSøknadId
2623

@@ -53,11 +50,9 @@ fun Route.startBehandlingRoute(
5350

5451
is KanIkkeStarteSøknadsbehandling.OppretteBehandling ->
5552
when (it.underliggende) {
56-
FantIkkeTiltak ->
57-
call.respond500InternalServerError(fantIkkeTiltak())
58-
59-
is StøtterKunInnvilgelse -> call.respond400BadRequest(
60-
støtterIkkeDelvisEllerAvslag(),
53+
is KanIkkeOppretteBehandling.IngenRelevanteTiltak -> call.respond501NotImplemented(
54+
melding = "Ingen relevante tiltak for denne søknaden - dette støtter vi ikke ennå",
55+
kode = "",
6156
)
6257
}
6358

app/src/main/kotlin/no/nav/tiltakspenger/vedtak/routes/exceptionhandling/ErrorJson.kt

+4
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ suspend fun ApplicationCall.respondError(status: HttpStatusCode, errorJson: Erro
7676
)
7777
}
7878

79+
suspend fun ApplicationCall.respond501NotImplemented(melding: String, kode: String) {
80+
this.respondError(HttpStatusCode.NotImplemented, ErrorJson(melding, kode))
81+
}
82+
7983
suspend fun ApplicationCall.respond501NotImplemented(errorJson: ErrorJson) {
8084
this.respondError(HttpStatusCode.NotImplemented, errorJson)
8185
}

domene/src/main/kotlin/no/nav/tiltakspenger/saksbehandling/domene/behandling/Behandling.kt

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package no.nav.tiltakspenger.saksbehandling.domene.behandling
22

33
import arrow.core.Either
4+
import arrow.core.left
45
import arrow.core.right
56
import no.nav.tiltakspenger.barnetillegg.Barnetillegg
67
import no.nav.tiltakspenger.felles.OppgaveId
@@ -128,14 +129,21 @@ data class Behandling(
128129
val tilOgMed = fraOgMed.plusYears(100)
129130
Periode(fraOgMed, tilOgMed)
130131
}
132+
133+
val saksopplysninger = hentSaksopplysninger(saksopplysningsperiode)
134+
135+
if (saksopplysninger.tiltaksdeltagelse.isEmpty()) {
136+
return KanIkkeOppretteBehandling.IngenRelevanteTiltak.left()
137+
}
138+
131139
return Behandling(
132140
id = BehandlingId.random(),
133141
saksnummer = saksnummer,
134142
sakId = sakId,
135143
fnr = fnr,
136144
søknad = søknad,
137145
virkningsperiode = null,
138-
saksopplysninger = hentSaksopplysninger(saksopplysningsperiode),
146+
saksopplysninger = saksopplysninger,
139147
fritekstTilVedtaksbrev = null,
140148
begrunnelseVilkårsvurdering = null,
141149
saksbehandler = saksbehandler.navIdent,
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package no.nav.tiltakspenger.saksbehandling.domene.behandling
22

33
sealed interface KanIkkeOppretteBehandling {
4-
data object FantIkkeTiltak : KanIkkeOppretteBehandling
5-
data object StøtterKunInnvilgelse : KanIkkeOppretteBehandling
4+
data object IngenRelevanteTiltak : KanIkkeOppretteBehandling
65
}

0 commit comments

Comments
 (0)