Skip to content

Commit 94775f0

Browse files
authored
Merge pull request #5344 from navikt/ikke-kast-http-kode
Returner http fra route-lag istedefor service-lag
2 parents bf9987e + 012d62c commit 94775f0

File tree

2 files changed

+18
-19
lines changed

2 files changed

+18
-19
lines changed

mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/arrangorflate/ArrangorFlateService.kt

+12-16
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package no.nav.mulighetsrommet.api.arrangorflate
22

3+
import arrow.core.Either
34
import arrow.core.getOrElse
45
import arrow.core.toNonEmptySetOrNull
56
import io.ktor.http.*
67
import no.nav.amt.model.Melding
78
import no.nav.mulighetsrommet.api.ApiDatabase
89
import no.nav.mulighetsrommet.api.QueryContext
910
import no.nav.mulighetsrommet.api.arrangorflate.api.*
11+
import no.nav.mulighetsrommet.api.clients.kontoregisterOrganisasjon.KontonummerRegisterOrganisasjonError
1012
import no.nav.mulighetsrommet.api.clients.kontoregisterOrganisasjon.KontoregisterOrganisasjonClient
1113
import no.nav.mulighetsrommet.api.clients.pdl.PdlGradering
1214
import no.nav.mulighetsrommet.api.clients.pdl.PdlIdent
@@ -228,23 +230,17 @@ class ArrangorFlateService(
228230
}
229231
}
230232

231-
suspend fun synkroniserKontonummer(utbetaling: Utbetaling): String {
233+
suspend fun synkroniserKontonummer(utbetaling: Utbetaling): Either<KontonummerRegisterOrganisasjonError, String> {
232234
db.session {
233-
val kontonummer =
234-
kontoregisterOrganisasjonClient.getKontonummerForOrganisasjon(Organisasjonsnummer(utbetaling.arrangor.organisasjonsnummer.value))
235-
.getOrElse {
236-
throw StatusException(
237-
status = HttpStatusCode.InternalServerError,
238-
detail = "Klarte ikke hente kontonummer for arrangør",
239-
)
240-
}
241-
242-
queries.utbetaling.setBetalingsinformasjon(
243-
id = utbetaling.id,
244-
kontonummer = Kontonummer(kontonummer.kontonr),
245-
kid = utbetaling.betalingsinformasjon.kid,
246-
)
247-
return kontonummer.kontonr
235+
return kontoregisterOrganisasjonClient.getKontonummerForOrganisasjon(Organisasjonsnummer(utbetaling.arrangor.organisasjonsnummer.value))
236+
.map {
237+
queries.utbetaling.setBetalingsinformasjon(
238+
id = utbetaling.id,
239+
kontonummer = Kontonummer(it.kontonr),
240+
kid = utbetaling.betalingsinformasjon.kid,
241+
)
242+
it.kontonr
243+
}
248244
}
249245
}
250246
}

mulighetsrommet-api/src/main/kotlin/no/nav/mulighetsrommet/api/arrangorflate/api/ArrangorflateRoutes.kt

+6-3
Original file line numberDiff line numberDiff line change
@@ -162,9 +162,12 @@ fun Route.arrangorflateRoutes() {
162162
?: throw NotFoundException("Fant ikke utbetaling med id=$id")
163163
requireTilgangHosArrangor(utbetaling.arrangor.organisasjonsnummer)
164164

165-
val kontonummer = arrangorFlateService.synkroniserKontonummer(utbetaling)
166-
167-
call.respond(kontonummer)
165+
arrangorFlateService.synkroniserKontonummer(utbetaling).map { call.respond(it) }.mapLeft {
166+
call.respond(
167+
HttpStatusCode.InternalServerError,
168+
"Kunne ikke synkronisere kontonummer",
169+
)
170+
}
168171
}
169172
}
170173

0 commit comments

Comments
 (0)