@@ -30,6 +30,7 @@ import no.nav.tiltakspenger.saksbehandling.ports.SkjermingGateway
30
30
import no.nav.tiltakspenger.saksbehandling.ports.StatistikkSakRepo
31
31
import no.nav.tiltakspenger.saksbehandling.ports.TiltakGateway
32
32
import no.nav.tiltakspenger.saksbehandling.service.SøknadService
33
+ import no.nav.tiltakspenger.saksbehandling.service.sak.SakServiceImpl.FantIkkeFnr
33
34
import no.nav.tiltakspenger.saksbehandling.service.sak.SakServiceImpl.KanIkkeStarteFørstegangsbehandling.HarAlleredeStartetBehandlingen
34
35
import no.nav.tiltakspenger.saksbehandling.service.sak.SakServiceImpl.KanIkkeStarteFørstegangsbehandling.HarIkkeTilgangTilPerson
35
36
import no.nav.tiltakspenger.saksbehandling.service.statistikk.sak.opprettBehandlingMapper
@@ -138,17 +139,27 @@ class SakServiceImpl(
138
139
return sak
139
140
}
140
141
141
- override fun hentForFnr (fnr : Fnr , saksbehandler : Saksbehandler ): Sak {
142
+ data class ErrorTilFrontend (
143
+ val melding : String ,
144
+ val kode : String ,
145
+ ) : RuntimeException()
146
+
147
+ data object FantIkkeFnr
148
+
149
+ override fun hentForFnr (
150
+ fnr : Fnr ,
151
+ saksbehandler : Saksbehandler ,
152
+ ): Either <FantIkkeFnr , Sak > {
142
153
val saker = sakRepo.hentForFnr(fnr)
143
- if (saker.saker.isEmpty()) throw IkkeFunnetException ( " Fant ikke sak for fnr $fnr " )
154
+ if (saker.saker.isEmpty()) FantIkkeFnr .left( )
144
155
if (saker.size > 1 ) throw IllegalStateException (" Vi støtter ikke flere saker per søker i piloten. fnr: $fnr " )
145
156
146
157
val sak = saker.single()
147
158
if (! sak.personopplysninger.harTilgang(saksbehandler)) {
148
159
throw TilgangException (" Saksbehandler ${saksbehandler.navIdent} har ikke tilgang til sak på fnr $fnr " )
149
160
}
150
161
151
- return sak
162
+ return sak.right()
152
163
}
153
164
154
165
override fun hentFnrForSakId (sakId : SakId ): Fnr ? = sakRepo.hentFnrForSakId(sakId)
0 commit comments