diff --git a/apps/etterlatte-api/src/main/kotlin/no/nav/etterlatte/samordning/vedtak/Tjenestepensjon.kt b/apps/etterlatte-api/src/main/kotlin/no/nav/etterlatte/samordning/vedtak/Tjenestepensjon.kt index 3314d7c8806..2455c9e201d 100644 --- a/apps/etterlatte-api/src/main/kotlin/no/nav/etterlatte/samordning/vedtak/Tjenestepensjon.kt +++ b/apps/etterlatte-api/src/main/kotlin/no/nav/etterlatte/samordning/vedtak/Tjenestepensjon.kt @@ -4,12 +4,13 @@ import no.nav.etterlatte.libs.common.feilhaandtering.ForespoerselException import no.nav.etterlatte.libs.common.feilhaandtering.IkkeFunnetException import no.nav.etterlatte.libs.common.feilhaandtering.IkkeTillattException import no.nav.etterlatte.libs.common.feilhaandtering.UgyldigForespoerselException +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil data class Tjenestepensjonnummer( val value: String, ) { init { - require(value == value.replace(Regex("[^0-9]"), "")) + checkInternFeil(value == value.replace(Regex("[^0-9]"), "")) { "Feil innhold i Tjenestepensjonnummer" } } } diff --git a/apps/etterlatte-behandling/src/main/kotlin/behandling/BehandlingDao.kt b/apps/etterlatte-behandling/src/main/kotlin/behandling/BehandlingDao.kt index 4df1cdde159..500d0630892 100644 --- a/apps/etterlatte-behandling/src/main/kotlin/behandling/BehandlingDao.kt +++ b/apps/etterlatte-behandling/src/main/kotlin/behandling/BehandlingDao.kt @@ -24,6 +24,7 @@ import no.nav.etterlatte.libs.common.behandling.Revurderingaarsak import no.nav.etterlatte.libs.common.behandling.TidligereFamiliepleier import no.nav.etterlatte.libs.common.behandling.Utlandstilknytning import no.nav.etterlatte.libs.common.behandling.Virkningstidspunkt +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.grunnlag.Grunnlagsopplysning import no.nav.etterlatte.libs.common.gyldigSoeknad.GyldighetsResultat import no.nav.etterlatte.libs.common.sak.BehandlingOgSak @@ -261,7 +262,9 @@ class BehandlingDao( stmt.setString(18, opphoerFraOgMed?.let { fom -> objectMapper.writeValueAsString(fom) }) stmt.setJsonb(19, tidligereFamiliepleier) } - require(stmt.executeUpdate() == 1) + checkInternFeil(stmt.executeUpdate() == 1) { + "Kunne ikke opprette behandling for ${behandling.id}" + } } } @@ -281,7 +284,9 @@ class BehandlingDao( stmt.setObject(1, objectMapper.writeValueAsString(gyldighetsproeving)) stmt.setTidspunkt(2, Tidspunkt.now().toLocalDatetimeUTC().toTidspunkt()) stmt.setObject(3, behandlingId) - require(stmt.executeUpdate() == 1) + checkInternFeil(stmt.executeUpdate() == 1) { + "Kunne ikke lagreGyldighetsproeving behandling for $behandlingId" + } } } @@ -300,7 +305,9 @@ class BehandlingDao( stmt.setString(1, status.name) stmt.setTidspunkt(2, sistEndret.toTidspunkt()) stmt.setObject(3, behandlingId) - require(stmt.executeUpdate() == 1) + checkInternFeil(stmt.executeUpdate() == 1) { + "Kunne ikke lagreStatus behandling for $behandlingId" + } } } @@ -313,7 +320,9 @@ class BehandlingDao( stmt.setString(1, objectMapper.writeValueAsString(boddEllerArbeidetUtlandet)) stmt.setObject(2, behandlingId) - require(stmt.executeUpdate() == 1) + checkInternFeil(stmt.executeUpdate() == 1) { + "Kunne ikke lagreBoddEllerArbeidetUtlandet behandling for $behandlingId" + } } } @@ -325,7 +334,9 @@ class BehandlingDao( val statement = prepareStatement("UPDATE behandling set utlandstilknytning = ? where id = ?") statement.setJsonb(1, utlandstilknytning) statement.setObject(2, behandlingId) - require(statement.executeUpdate() == 1) + checkInternFeil(statement.executeUpdate() == 1) { + "Kunne ikke lagreUtlandstilknytning behandling for $behandlingId" + } } } @@ -337,7 +348,9 @@ class BehandlingDao( val statement = prepareStatement("UPDATE behandling set tidligere_familiepleier = ? where id = ?") statement.setJsonb(1, tidligereFamiliepleier) statement.setObject(2, behandlingId) - require(statement.executeUpdate() == 1) + checkInternFeil(statement.executeUpdate() == 1) { + "Kunne ikke lagreTidligereFamiliepleier behandling for $behandlingId" + } } } @@ -446,7 +459,9 @@ class BehandlingDao( val statement = prepareStatement("UPDATE behandling set sende_brev = ? where id = ?") statement.setBoolean(1, skalSendeBrev) statement.setObject(2, behandlingId) - require(statement.executeUpdate() == 1) + checkInternFeil(statement.executeUpdate() == 1) { + "Kunne ikke send brev behandling for $behandlingId" + } } } @@ -503,4 +518,5 @@ private fun ResultSet.toTidligereFamiliepleier(): TidligereFamiliepleier? = val objectMapper: ObjectMapper = jacksonObjectMapper().registerModule(JavaTimeModule()).disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) +// TODO: fjerne denne bruke, blir veldig dårlig feilmelding fun PreparedStatement.updateSuccessful() = require(this.executeUpdate() == 1) diff --git a/apps/etterlatte-behandling/src/main/kotlin/behandling/BehandlingService.kt b/apps/etterlatte-behandling/src/main/kotlin/behandling/BehandlingService.kt index a0fccedbf00..22dcf27b7ea 100644 --- a/apps/etterlatte-behandling/src/main/kotlin/behandling/BehandlingService.kt +++ b/apps/etterlatte-behandling/src/main/kotlin/behandling/BehandlingService.kt @@ -44,6 +44,7 @@ import no.nav.etterlatte.libs.common.behandling.Virkningstidspunkt import no.nav.etterlatte.libs.common.feilhaandtering.IkkeFunnetException import no.nav.etterlatte.libs.common.feilhaandtering.InternfeilException import no.nav.etterlatte.libs.common.feilhaandtering.UgyldigForespoerselException +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.grunnlag.Grunnlagsopplysning import no.nav.etterlatte.libs.common.grunnlag.NyeSaksopplysninger import no.nav.etterlatte.libs.common.grunnlag.lagOpplysning @@ -617,10 +618,10 @@ internal class BehandlingServiceImpl( ) { inTransaction { val behandling = behandlingDao.hentBehandling(behandlingId) - require(behandling != null) { + checkInternFeil(behandling != null) { "Behandling finnes ikke $behandlingId" } - when (behandling.type) { + when (behandling!!.type) { BehandlingType.FØRSTEGANGSBEHANDLING -> throw KanIkkeEndreSendeBrevForFoerstegangsbehandling() BehandlingType.REVURDERING -> { behandlingDao.lagreSendeBrev(behandlingId, skalSendeBrev) diff --git a/apps/etterlatte-behandling/src/main/kotlin/behandling/aktivitetsplikt/AktivitetspliktService.kt b/apps/etterlatte-behandling/src/main/kotlin/behandling/aktivitetsplikt/AktivitetspliktService.kt index 7b9afe989a7..05dd522f725 100644 --- a/apps/etterlatte-behandling/src/main/kotlin/behandling/aktivitetsplikt/AktivitetspliktService.kt +++ b/apps/etterlatte-behandling/src/main/kotlin/behandling/aktivitetsplikt/AktivitetspliktService.kt @@ -31,6 +31,7 @@ import no.nav.etterlatte.libs.common.behandling.Revurderingaarsak import no.nav.etterlatte.libs.common.behandling.tilVirkningstidspunkt import no.nav.etterlatte.libs.common.feilhaandtering.InternfeilException import no.nav.etterlatte.libs.common.feilhaandtering.UgyldigForespoerselException +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.grunnlag.Grunnlagsopplysning import no.nav.etterlatte.libs.common.grunnlag.hentDoedsdato import no.nav.etterlatte.libs.common.oppgave.OppgaveIntern @@ -290,7 +291,7 @@ class AktivitetspliktService( if (aktivitetsgrad.id != null) { aktivitetspliktAktivitetsgradDao.oppdaterAktivitetsgrad(aktivitetsgrad, kilde, behandlingId) } else { - require( + checkInternFeil( aktivitetspliktAktivitetsgradDao.hentAktivitetsgradForBehandling(behandlingId).isEmpty(), ) { "Aktivitetsgrad finnes allerede for behandling $behandlingId" } val unntak = aktivitetspliktUnntakDao.hentUnntakForBehandling(behandlingId) @@ -385,7 +386,7 @@ class AktivitetspliktService( if (unntak.id != null) { aktivitetspliktUnntakDao.oppdaterUnntak(unntak, kilde, behandlingId) } else { - require( + checkInternFeil( aktivitetspliktUnntakDao.hentUnntakForBehandling(behandlingId).isEmpty(), ) { "Unntak finnes allerede for behandling $behandlingId" } diff --git a/apps/etterlatte-behandling/src/main/kotlin/behandling/behandlinginfo/BehandlingInfoDao.kt b/apps/etterlatte-behandling/src/main/kotlin/behandling/behandlinginfo/BehandlingInfoDao.kt index 017f99ef1f9..a16943b5821 100644 --- a/apps/etterlatte-behandling/src/main/kotlin/behandling/behandlinginfo/BehandlingInfoDao.kt +++ b/apps/etterlatte-behandling/src/main/kotlin/behandling/behandlinginfo/BehandlingInfoDao.kt @@ -5,6 +5,7 @@ import no.nav.etterlatte.behandling.utland.SluttbehandlingUtlandBehandlinginfo import no.nav.etterlatte.common.ConnectionAutoclosing import no.nav.etterlatte.libs.common.behandling.Brevutfall import no.nav.etterlatte.libs.common.feilhaandtering.InternfeilException +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.objectMapper import no.nav.etterlatte.libs.database.setJsonb import no.nav.etterlatte.libs.database.singleOrNull @@ -85,8 +86,11 @@ class BehandlingInfoDao( setObject(1, brevutfall.behandlingId) setJsonb(2, brevutfall) }.run { executeUpdate() } - .also { require(it == 1) } - .let { + .also { + checkInternFeil(it == 1) { + "Kunne ikke lagreBrevutfall behandling for ${brevutfall.behandlingId}" + } + }.let { hentBrevutfall(brevutfall.behandlingId) ?: throw InternfeilException("Feilet under lagring av brevutfall") } @@ -125,8 +129,11 @@ class BehandlingInfoDao( setObject(1, etterbetaling.behandlingId) setJsonb(2, etterbetaling) }.run { executeUpdate() } - .also { require(it == 1) } - .let { + .also { + checkInternFeil(it == 1) { + "Kunne ikke lagreBrevutfall behandling for ${etterbetaling.behandlingId}" + } + }.let { hentEtterbetaling(etterbetaling.behandlingId) ?: throw InternfeilException("Feilet under lagring av etterbetaling") } @@ -145,7 +152,11 @@ class BehandlingInfoDao( setJsonb(1, null) setObject(2, behandlingId) }.run { executeUpdate() } - .also { require(it == 1) } + .also { + checkInternFeil(it == 1) { + "Kunne ikke slettEtterbetaling behandling for $behandlingId" + } + } } } diff --git a/apps/etterlatte-behandling/src/main/kotlin/behandling/bosattutland/BosattUtlandDao.kt b/apps/etterlatte-behandling/src/main/kotlin/behandling/bosattutland/BosattUtlandDao.kt index d1b9b864bb4..530372e14cb 100644 --- a/apps/etterlatte-behandling/src/main/kotlin/behandling/bosattutland/BosattUtlandDao.kt +++ b/apps/etterlatte-behandling/src/main/kotlin/behandling/bosattutland/BosattUtlandDao.kt @@ -4,6 +4,7 @@ import com.fasterxml.jackson.module.kotlin.readValue import no.nav.etterlatte.behandling.hendelse.getUUID import no.nav.etterlatte.behandling.objectMapper import no.nav.etterlatte.common.ConnectionAutoclosing +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.database.setJsonb import no.nav.etterlatte.libs.database.singleOrNull import java.sql.ResultSet @@ -29,7 +30,7 @@ class BosattUtlandDao( statement.setObject(2, bosattUtland.rinanummer) statement.setJsonb(3, bosattUtland.mottatteSeder) statement.setJsonb(4, bosattUtland.sendteSeder) - require(statement.executeUpdate() == 1) + checkInternFeil(statement.executeUpdate() == 1) { "Kunne ikke lagre utland for behandlingId: ${bosattUtland.behandlingId}" } } } diff --git a/apps/etterlatte-behandling/src/main/kotlin/behandling/omregning/OmregningDao.kt b/apps/etterlatte-behandling/src/main/kotlin/behandling/omregning/OmregningDao.kt index 220d94b4ff6..36d0dfcb259 100644 --- a/apps/etterlatte-behandling/src/main/kotlin/behandling/omregning/OmregningDao.kt +++ b/apps/etterlatte-behandling/src/main/kotlin/behandling/omregning/OmregningDao.kt @@ -1,6 +1,7 @@ package no.nav.etterlatte.behandling.omregning import no.nav.etterlatte.common.ConnectionAutoclosing +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.sak.KjoeringRequest import no.nav.etterlatte.libs.common.sak.KjoeringStatus import no.nav.etterlatte.libs.common.sak.LagreKjoeringRequest @@ -69,7 +70,11 @@ class OmregningDao( statement.setString(4, request.begrunnelse) statement.setString(5, request.corrId) statement.setString(6, request.feilendeSteg) - statement.executeUpdate().also { require(it == 1) } + statement.executeUpdate().also { + checkInternFeil(it > 0) { + "Kunne ikke oppdaterKjoering for id sakid ${request.sakId}" + } + } } } } @@ -97,7 +102,11 @@ class OmregningDao( statement.setBigDecimal(9, request.avkortingFoer) statement.setBigDecimal(10, request.avkortingEtter) statement.setBigDecimal(11, request.vedtakBeloep) - statement.executeUpdate().also { require(it == 1) } + statement.executeUpdate().also { + checkInternFeil(it > 0) { + "Kunne ikke lagreKjoering for id sakid ${request.sakId}" + } + } } } } diff --git a/apps/etterlatte-behandling/src/main/kotlin/behandling/tilbakekreving/TilbakekrevingDao.kt b/apps/etterlatte-behandling/src/main/kotlin/behandling/tilbakekreving/TilbakekrevingDao.kt index 9e458cbe048..a6a2dd47492 100644 --- a/apps/etterlatte-behandling/src/main/kotlin/behandling/tilbakekreving/TilbakekrevingDao.kt +++ b/apps/etterlatte-behandling/src/main/kotlin/behandling/tilbakekreving/TilbakekrevingDao.kt @@ -4,6 +4,7 @@ import com.fasterxml.jackson.module.kotlin.readValue import no.nav.etterlatte.behandling.hendelse.getUUID import no.nav.etterlatte.common.ConnectionAutoclosing import no.nav.etterlatte.libs.common.Enhetsnummer +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.objectMapper import no.nav.etterlatte.libs.common.sak.Sak import no.nav.etterlatte.libs.common.sak.SakId @@ -197,7 +198,11 @@ class TilbakekrevingDao( statement.setJsonb(6, vurdering) } statement.setBoolean(7, tilbakekrevingBehandling.sendeBrev) - statement.executeUpdate().also { require(it == 1) } + statement.executeUpdate().also { + checkInternFeil(it == 1) { + "Kunne ikke lagre tilbaekreving behandling for sakid ${tilbakekrevingBehandling.sak.id}" + } + } } private fun deleteTilbakekrevingsperioder( @@ -212,7 +217,11 @@ class TilbakekrevingDao( """.trimIndent(), ) statement.setObject(1, tilbakekrevingId) - statement.executeUpdate().also { require(it > 0) } + statement.executeUpdate().also { + checkInternFeil(it > 0) { + "Kunne ikke deleteTilbakekrevingsperioder behandling for id $tilbakekrevingId" + } + } } private fun insertTilbakekrevingsperioder( diff --git a/apps/etterlatte-behandling/src/main/kotlin/sak/SakSkrivDao.kt b/apps/etterlatte-behandling/src/main/kotlin/sak/SakSkrivDao.kt index 8978684b942..74086931d83 100644 --- a/apps/etterlatte-behandling/src/main/kotlin/sak/SakSkrivDao.kt +++ b/apps/etterlatte-behandling/src/main/kotlin/sak/SakSkrivDao.kt @@ -3,6 +3,7 @@ package no.nav.etterlatte.sak import no.nav.etterlatte.grunnlagsendring.SakMedEnhet import no.nav.etterlatte.libs.common.Enhetsnummer import no.nav.etterlatte.libs.common.behandling.SakType +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.person.AdressebeskyttelseGradering import no.nav.etterlatte.libs.common.sak.Sak import no.nav.etterlatte.libs.common.sak.SakId @@ -38,7 +39,9 @@ class SakSkrivDao( logger.info( "Oppdaterer adressebeskyttelse med: $adressebeskyttelseGradering for sak med id: $sakId, antall oppdatert er $it", ) - require(it == 1) + checkInternFeil(it > 0) { + "Kunne ikke oppdaterAdresseBeskyttelse for id sakid $sakId" + } } } } diff --git a/apps/etterlatte-behandling/src/test/kotlin/behandling/aktivitetsplikt/AktivitetspliktServiceTest.kt b/apps/etterlatte-behandling/src/test/kotlin/behandling/aktivitetsplikt/AktivitetspliktServiceTest.kt index 2d7557877dd..7ccb76444ff 100644 --- a/apps/etterlatte-behandling/src/test/kotlin/behandling/aktivitetsplikt/AktivitetspliktServiceTest.kt +++ b/apps/etterlatte-behandling/src/test/kotlin/behandling/aktivitetsplikt/AktivitetspliktServiceTest.kt @@ -40,6 +40,7 @@ import no.nav.etterlatte.libs.common.behandling.Prosesstype import no.nav.etterlatte.libs.common.behandling.Revurderingaarsak import no.nav.etterlatte.libs.common.behandling.SakType import no.nav.etterlatte.libs.common.behandling.tilVirkningstidspunkt +import no.nav.etterlatte.libs.common.feilhaandtering.InternfeilException import no.nav.etterlatte.libs.common.grunnlag.Grunnlagsopplysning import no.nav.etterlatte.libs.common.oppgave.OppgaveIntern import no.nav.etterlatte.libs.common.oppgave.OppgaveKilde @@ -457,7 +458,7 @@ class AktivitetspliktServiceTest { every { status } returns BehandlingStatus.VILKAARSVURDERT } - assertThrows { + assertThrows { service.upsertUnntakForBehandling(unntak, behandlingId, sakId, brukerTokenInfo) } } diff --git a/apps/etterlatte-behandling/src/test/kotlin/behandling/generellbehandling/GenerellBehandlingDaoTest.kt b/apps/etterlatte-behandling/src/test/kotlin/behandling/generellbehandling/GenerellBehandlingDaoTest.kt index 8682969cf4d..659c48559f3 100644 --- a/apps/etterlatte-behandling/src/test/kotlin/behandling/generellbehandling/GenerellBehandlingDaoTest.kt +++ b/apps/etterlatte-behandling/src/test/kotlin/behandling/generellbehandling/GenerellBehandlingDaoTest.kt @@ -3,6 +3,7 @@ package no.nav.etterlatte.behandling.generellbehandling import no.nav.etterlatte.ConnectionAutoclosingTest import no.nav.etterlatte.DatabaseExtension import no.nav.etterlatte.behandling.sakId1 +import no.nav.etterlatte.libs.common.feilhaandtering.InternfeilException import no.nav.etterlatte.libs.common.generellbehandling.DokumentMedSendtDato import no.nav.etterlatte.libs.common.generellbehandling.GenerellBehandling import no.nav.etterlatte.libs.common.generellbehandling.Innhold @@ -48,7 +49,7 @@ internal class GenerellBehandlingDaoTest( @Test fun `Assert skal catche at man oppretter med feil type`() { - assertThrows { + assertThrows { GenerellBehandling( UUID.randomUUID(), sakId1, diff --git a/apps/etterlatte-beregning-kafka/src/main/kotlin/no/nav/etterlatte/beregningkafka/BeregningService.kt b/apps/etterlatte-beregning-kafka/src/main/kotlin/no/nav/etterlatte/beregningkafka/BeregningService.kt index a474da2b3a9..da944f57b0a 100644 --- a/apps/etterlatte-beregning-kafka/src/main/kotlin/no/nav/etterlatte/beregningkafka/BeregningService.kt +++ b/apps/etterlatte-beregning-kafka/src/main/kotlin/no/nav/etterlatte/beregningkafka/BeregningService.kt @@ -13,6 +13,7 @@ import io.ktor.http.isSuccess import kotlinx.coroutines.runBlocking import no.nav.etterlatte.grunnbeloep.Grunnbeloep import no.nav.etterlatte.libs.common.beregning.AarligInntektsjusteringAvkortingRequest +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import java.util.UUID class BeregningService( @@ -86,6 +87,6 @@ class BeregningService( suspend fun hentGrunnbeloep(): Grunnbeloep = beregningApp .get("$url/api/beregning/grunnbeloep") - .also { require(it.status.isSuccess()) } + .also { checkInternFeil(it.status.isSuccess()) { "Kunne ikke hente grunnbeloep" } } .body() } diff --git a/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/db/BrevRepository.kt b/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/db/BrevRepository.kt index 9ed8603f82a..eb327f61547 100644 --- a/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/db/BrevRepository.kt +++ b/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/db/BrevRepository.kt @@ -40,6 +40,7 @@ import no.nav.etterlatte.brev.model.Spraak import no.nav.etterlatte.brev.model.Status import no.nav.etterlatte.brev.model.opprettBrevFra import no.nav.etterlatte.libs.common.deserialize +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.person.MottakerFoedselsnummer import no.nav.etterlatte.libs.common.sak.SakId import no.nav.etterlatte.libs.common.tidspunkt.Tidspunkt @@ -117,11 +118,15 @@ class BrevRepository( "payload" to payload.toJson(), ), ).asUpdate, - ).also { require(it == 1) } + ).also { + checkInternFeil(it == 1) { "Brev fikk ikke oppdatert payload brevid: $id" } + } tx .lagreHendelse(id, Status.OPPDATERT, payload.toJson(), bruker) - .also { require(it == 1) } + .also { + checkInternFeil(it == 1) { "Brev fikk ikke oppdatert hendelse brevid: $id" } + } } fun oppdaterPayloadVedlegg( @@ -139,11 +144,15 @@ class BrevRepository( "payload_vedlegg" to payload.toJson(), ), ).asUpdate, - ).also { require(it == 1) } + ).also { + checkInternFeil(it == 1) { "Brev fikk ikke oppdatert vedlegg id: $id" } + } tx .lagreHendelse(id, Status.OPPDATERT, payload.toJson(), bruker) - .also { require(it == 1) } + .also { + checkInternFeil(it == 1) { "Brev fikk ikke oppdatert hendelse for vedlegg id: $id" } + } } fun oppdaterBrevkoder( @@ -211,11 +220,15 @@ class BrevRepository( "type" to mottaker.type.name, ), ).asUpdate, - ).also { require(it == 1) } + ).also { + checkInternFeil(it == 1) { "Brev fikk ikke oppdatert mottaker id: $id" } + } tx .lagreHendelse(id, Status.OPPDATERT, mottaker.toJson(), bruker) - .also { require(it == 1) } + .also { + checkInternFeil(it == 1) { "Brev fikk ikke oppdater hendelse for oppdatert mottaker id: $id" } + } } fun slettMottaker( @@ -225,15 +238,19 @@ class BrevRepository( ) = ds.transaction { tx -> tx .run(queryOf("DELETE FROM mottaker WHERE id = ? AND brev_id = ?", mottakerId, brevId).asUpdate) - .also { require(it == 1) } + .also { + checkInternFeil(it == 1) { "Brev fikk ikke slettet mottaker id: $brevId" } + } tx .lagreHendelse(brevId, Status.OPPDATERT, "mottaker med id=$mottakerId fjernet fra brevet ", bruker) - .also { require(it == 1) } + .also { + checkInternFeil(it == 1) { "Brev fikk ikke oppdater hendelse for slettet mottaker id: $brevId" } + } } fun oppdaterTittel( - id: BrevID, + brevId: BrevID, tittel: String, bruker: BrukerTokenInfo, ) = ds.transaction { tx -> @@ -242,19 +259,23 @@ class BrevRepository( queryOf( OPPDATER_TITTEL_QUERY, mapOf( - "brev_id" to id, + "brev_id" to brevId, "tittel" to tittel, ), ).asUpdate, - ).also { require(it == 1) } + ).also { + checkInternFeil(it == 1) { "Brev fikk ikke oppdatert tittel id: $brevId" } + } tx - .lagreHendelse(id, Status.OPPDATERT, tittel.toJson(), bruker) - .also { require(it == 1) } + .lagreHendelse(brevId, Status.OPPDATERT, tittel.toJson(), bruker) + .also { + checkInternFeil(it == 1) { "Brev fikk ikke oppdater hendelse for oppdatert tittel id: $brevId" } + } } fun oppdaterSpraak( - id: BrevID, + brevId: BrevID, spraak: Spraak, bruker: BrukerTokenInfo, ) = ds.transaction { tx -> @@ -263,19 +284,23 @@ class BrevRepository( queryOf( OPPDATER_SPRAAK_QUERY, mapOf( - "brev_id" to id, + "brev_id" to brevId, "spraak" to spraak.name, ), ).asUpdate, - ).also { require(it == 1) } + ).also { + checkInternFeil(it == 1) { "Brev fikk ikke oppdatert språk id: $brevId" } + } tx - .lagreHendelse(id, Status.OPPDATERT, spraak.toJson(), bruker) - .also { require(it == 1) } + .lagreHendelse(brevId, Status.OPPDATERT, spraak.toJson(), bruker) + .also { + checkInternFeil(it == 1) { "Brev fikk ikke oppdater hendelse for oppdatert språk id: $brevId" } + } } fun lagrePdfOgFerdigstillBrev( - id: BrevID, + brevId: BrevID, pdf: Pdf, bruker: BrukerTokenInfo, ) { @@ -285,18 +310,22 @@ class BrevRepository( queryOf( OPPRETT_PDF_QUERY, mapOf( - "brev_id" to id, + "brev_id" to brevId, "bytes" to pdf.bytes, ), ).asUpdate, - ).also { oppdatert -> require(oppdatert == 1) } + ).also { oppdatert -> + checkInternFeil(oppdatert == 1) { "Pdf ble ikke opprettet id: $brevId" } + } - tx.lagreHendelse(id, Status.FERDIGSTILT, bruker = bruker) + tx.lagreHendelse(brevId, Status.FERDIGSTILT, bruker = bruker).also { + checkInternFeil(it == 1) { "Brev fikk ikke oppdater hendelse ferdigstilt for lagre pdf id: $brevId" } + } } } fun lagrePdf( - id: BrevID, + brevId: BrevID, pdf: Pdf, ) { using(sessionOf(ds)) { @@ -305,30 +334,34 @@ class BrevRepository( queryOf( OPPRETT_ELLER_OPPDATER_PDF_QUERY, mapOf( - "brev_id" to id, + "brev_id" to brevId, "bytes" to pdf.bytes, ), ).asUpdate, - ).also { oppdatert -> require(oppdatert == 1) } + ).also { oppdatert -> checkInternFeil(oppdatert == 1) { "Fikk ikke lagret pdf id: $brevId" } } } } fun settBrevFerdigstilt( - id: BrevID, + brevId: BrevID, bruker: BrukerTokenInfo, ) { using(sessionOf(ds)) { - it.lagreHendelse(id, Status.FERDIGSTILT, bruker = bruker) + it.lagreHendelse(brevId, Status.FERDIGSTILT, bruker = bruker).also { + checkInternFeil(it == 1) { "Hendelse ferdigstilt ble ikke gjort for id $brevId" } + } } } fun settBrevUtgaatt( - id: BrevID, + brevId: BrevID, kommentar: String, bruker: BrukerTokenInfo, ) { using(sessionOf(ds)) { - it.lagreHendelse(id, Status.UTGAATT, "${bruker.ident()}: $kommentar".toJson(), bruker) + it.lagreHendelse(brevId, Status.UTGAATT, "${bruker.ident()}: $kommentar".toJson(), bruker).also { + checkInternFeil(it == 1) { "Hendelse utgått ble ikke gjort for id $brevId" } + } } } @@ -337,7 +370,7 @@ class BrevRepository( bruker: BrukerTokenInfo, ): Brev = ds.transaction(true) { tx -> - val id = + val brevId = tx.run( queryOf( OPPRETT_BREV_QUERY, @@ -353,7 +386,7 @@ class BrevRepository( ).asUpdateAndReturnGeneratedKey, ) - requireNotNull(id) { "Brev ikke opprettet!" } + requireNotNull(brevId) { "Brev ikke opprettet!" } tx .run( @@ -361,7 +394,7 @@ class BrevRepository( OPPRETT_MOTTAKER_QUERY, mapOf( "id" to ulagretBrev.mottaker.id, - "brev_id" to id, + "brev_id" to brevId, "foedselsnummer" to ulagretBrev.mottaker.foedselsnummer?.value, "orgnummer" to ulagretBrev.mottaker.orgnummer, "navn" to ulagretBrev.mottaker.navn, @@ -376,27 +409,27 @@ class BrevRepository( "type" to ulagretBrev.mottaker.type.name, ), ).asUpdate, - ).also { opprettet -> require(opprettet == 1) } + ).also { opprettet -> checkInternFeil(opprettet == 1) { "Mottaker ble ikke opprettet for id $brevId" } } tx .run( queryOf( OPPRETT_INNHOLD_QUERY, mapOf( - "brev_id" to id, + "brev_id" to brevId, "tittel" to ulagretBrev.innhold.tittel, "spraak" to ulagretBrev.innhold.spraak.name, "payload" to ulagretBrev.innhold.payload?.toJson(), "payload_vedlegg" to ulagretBrev.innholdVedlegg?.toJson(), ), ).asUpdate, - ).also { opprettet -> require(opprettet == 1) } + ).also { opprettet -> checkInternFeil(opprettet == 1) { "Innhold ble ikke opprettet for id $brevId" } } tx - .lagreHendelse(id, Status.OPPRETTET, ulagretBrev.opprettet, bruker = bruker) - .also { oppdatert -> require(oppdatert == 1) } + .lagreHendelse(brevId, Status.OPPRETTET, ulagretBrev.opprettet, bruker = bruker) + .also { oppdatert -> checkInternFeil(oppdatert == 1) { "Hendelse ble ikke satt til opprettet for id $brevId" } } - opprettBrevFra(id, ulagretBrev) + opprettBrevFra(brevId, ulagretBrev) } fun lagreJournalpostId( @@ -410,7 +443,7 @@ class BrevRepository( journalpostResponse.journalpostId, mottakerId, ).asUpdate, - ).also { oppdatert -> require(oppdatert == 1) } + ).also { oppdatert -> checkInternFeil(oppdatert == 1) { "Journalpost ble ikke lagre med ny id for: $mottakerId" } } } fun settBrevJournalfoert( @@ -433,7 +466,7 @@ class BrevRepository( distResponse.bestillingsId, mottakerId, ).asUpdate, - ).also { oppdatert -> require(oppdatert == 1) } + ).also { oppdatert -> checkInternFeil(oppdatert == 1) { "feilet på oppdatering av mottaker for id $mottakerId" } } } fun settBrevDistribuert( diff --git a/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/notat/NotatRepository.kt b/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/notat/NotatRepository.kt index 638ae36e8a2..69c47693cab 100644 --- a/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/notat/NotatRepository.kt +++ b/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/notat/NotatRepository.kt @@ -168,7 +168,7 @@ class NotatRepository( ), ).asUpdate, ).also { oppdatert -> - require(oppdatert == 1) + checkNotNull(oppdatert == 1) { "Kunne ikke lagre tittel! for id $id" } } tx.lagreHendelse(id, tittel.toJson(), bruker) diff --git a/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/vedtaksbrev/VedtaksbrevService.kt b/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/vedtaksbrev/VedtaksbrevService.kt index 2b7f59f0dda..8509512178f 100644 --- a/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/vedtaksbrev/VedtaksbrevService.kt +++ b/apps/etterlatte-brev-api/src/main/kotlin/no/nav/etterlatte/brev/vedtaksbrev/VedtaksbrevService.kt @@ -21,6 +21,7 @@ import no.nav.etterlatte.brev.varselbrev.BrevDataMapperRedigerbartUtfallVarsel import no.nav.etterlatte.libs.common.behandling.SakType import no.nav.etterlatte.libs.common.feilhaandtering.IkkeTillattException import no.nav.etterlatte.libs.common.feilhaandtering.UgyldigForespoerselException +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.logging.sikkerlogger import no.nav.etterlatte.libs.common.sak.SakId import no.nav.etterlatte.libs.common.toJson @@ -60,7 +61,7 @@ class VedtaksbrevService( behandlingId: UUID, brukerTokenInfo: BrukerTokenInfo, ): Brev { - require(db.hentBrevForBehandling(behandlingId, Brevtype.VEDTAK).firstOrNull() == null) { + checkInternFeil(db.hentBrevForBehandling(behandlingId, Brevtype.VEDTAK).firstOrNull() == null) { "Vedtaksbrev finnes allerede på behandling (id=$behandlingId) og kan ikke opprettes på nytt" } diff --git a/apps/etterlatte-grunnlag/src/main/kotlin/grunnlag/OpplysningDao.kt b/apps/etterlatte-grunnlag/src/main/kotlin/grunnlag/OpplysningDao.kt index 75c9f613dd7..ce060b887cf 100644 --- a/apps/etterlatte-grunnlag/src/main/kotlin/grunnlag/OpplysningDao.kt +++ b/apps/etterlatte-grunnlag/src/main/kotlin/grunnlag/OpplysningDao.kt @@ -2,6 +2,7 @@ package no.nav.etterlatte.grunnlag import com.fasterxml.jackson.databind.JsonNode import com.fasterxml.jackson.module.kotlin.readValue +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.grunnlag.Grunnlagsopplysning import no.nav.etterlatte.libs.common.grunnlag.opplysningstyper.Opplysningstype import no.nav.etterlatte.libs.common.objectMapper @@ -233,7 +234,9 @@ class OpplysningDao( setLong(3, hendelsenummer) setBoolean(4, false) }.executeUpdate() - .also { require(it > 0) } + .also { + checkInternFeil(it > 0) { "Kunne ikke oppdaterVersjonForBehandling for behandlingid $behandlingId sakid: $sakId" } + } } fun laasGrunnlagVersjonForBehandling(behandlingId: UUID) = diff --git a/apps/etterlatte-statistikk/src/main/kotlin/statistikk/domain/SoeknadStatistikk.kt b/apps/etterlatte-statistikk/src/main/kotlin/statistikk/domain/SoeknadStatistikk.kt index 2a05abebf28..8ddeeb3a7ee 100644 --- a/apps/etterlatte-statistikk/src/main/kotlin/statistikk/domain/SoeknadStatistikk.kt +++ b/apps/etterlatte-statistikk/src/main/kotlin/statistikk/domain/SoeknadStatistikk.kt @@ -1,6 +1,7 @@ package no.nav.etterlatte.statistikk.domain import no.nav.etterlatte.libs.common.behandling.SakType +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil data class SoeknadStatistikk( val soeknadId: Long, @@ -14,7 +15,7 @@ data class SoeknadStatistikk( true -> kriterierForIngenBehandling.isEmpty() false -> kriterierForIngenBehandling.isNotEmpty() } - require(erKonsekvent) { + checkInternFeil(erKonsekvent) { "En søknad skal enten være gyldig for behandling med ingen kriterier for ingen behandling, " + "eller den er ikke gyldig for behandling på grunn av en eller flere kriterier " } diff --git a/apps/etterlatte-tilbakekreving/src/main/kotlin/tilbakekreving/TilbakekrevingHendelseRepository.kt b/apps/etterlatte-tilbakekreving/src/main/kotlin/tilbakekreving/TilbakekrevingHendelseRepository.kt index 6d11eb98227..afb12b2bf46 100644 --- a/apps/etterlatte-tilbakekreving/src/main/kotlin/tilbakekreving/TilbakekrevingHendelseRepository.kt +++ b/apps/etterlatte-tilbakekreving/src/main/kotlin/tilbakekreving/TilbakekrevingHendelseRepository.kt @@ -3,6 +3,7 @@ package no.nav.etterlatte.tilbakekreving import kotliquery.queryOf import kotliquery.sessionOf import kotliquery.using +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.sak.SakId import no.nav.etterlatte.libs.common.tidspunkt.Tidspunkt import no.nav.etterlatte.libs.common.tidspunkt.toTimestamp @@ -70,7 +71,7 @@ class TilbakekrevingHendelseRepository( ), ).let { query -> session.update(query).also { - require(it == 1) { + checkInternFeil(it == 1) { "Feil under lagring av hendelse for sak $sakId" } } @@ -129,7 +130,7 @@ class TilbakekrevingHendelseRepository( ), ).let { query -> session.update(query).also { - require(it == 1) { + checkInternFeil(it == 1) { "Feil under oppdatering av hendelse for sak $sakId" } } diff --git a/apps/etterlatte-trygdetid/src/main/kotlin/trygdetid/TrygdetidService.kt b/apps/etterlatte-trygdetid/src/main/kotlin/trygdetid/TrygdetidService.kt index 5aaab4f35a6..17b5b98ac00 100644 --- a/apps/etterlatte-trygdetid/src/main/kotlin/trygdetid/TrygdetidService.kt +++ b/apps/etterlatte-trygdetid/src/main/kotlin/trygdetid/TrygdetidService.kt @@ -10,6 +10,7 @@ import no.nav.etterlatte.libs.common.behandling.Revurderingaarsak import no.nav.etterlatte.libs.common.feilhaandtering.GenerellIkkeFunnetException import no.nav.etterlatte.libs.common.feilhaandtering.IkkeTillattException import no.nav.etterlatte.libs.common.feilhaandtering.UgyldigForespoerselException +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.grunnlag.Grunnlagsdata import no.nav.etterlatte.libs.common.grunnlag.Grunnlagsopplysning import no.nav.etterlatte.libs.common.grunnlag.hentDoedsdato @@ -882,7 +883,7 @@ class TrygdetidServiceImpl( val trygdetiderKilde = trygdetidRepository.hentTrygdetiderForBehandling(kildeBehandlingId) val trygdetiderMaal = trygdetidRepository.hentTrygdetiderForBehandling(behandlingId) - require(trygdetiderMaal.map { it.ident }.sorted() == trygdetiderKilde.map { it.ident }.sorted()) { + checkInternFeil(trygdetiderMaal.map { it.ident }.sorted() == trygdetiderKilde.map { it.ident }.sorted()) { "Trygdetidene gjelder forskjellige avdøde" } diff --git a/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/avstemming/AvstemmingDao.kt b/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/avstemming/AvstemmingDao.kt index 0bb9c5f93aa..69cb0011bc4 100644 --- a/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/avstemming/AvstemmingDao.kt +++ b/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/avstemming/AvstemmingDao.kt @@ -5,6 +5,7 @@ import kotliquery.param import kotliquery.queryOf import kotliquery.sessionOf import kotliquery.using +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.tidspunkt.Tidspunkt import no.nav.etterlatte.libs.common.tidspunkt.toTimestamp import no.nav.etterlatte.libs.common.toJson @@ -39,7 +40,7 @@ class AvstemmingDao( session.run( it.asUpdate, ) - }.also { require(it == 1) { "Kunne ikke opprette avstemming" } } + }.also { checkInternFeil(it == 1) { "Kunne ikke opprette avstemming" } } } fun hentDatoOpprettetForSisteKonsistensavstemming(saktype: Saktype): Tidspunkt? = @@ -87,7 +88,9 @@ class AvstemmingDao( "avstemmingtype" to Avstemmingtype.GRENSESNITTAVSTEMMING.name.param(), "saktype" to grensesnittavstemming.saktype.name.param(), ), - ).let { session.run(it.asUpdate) }.also { require(it == 1) { "Kunne ikke opprette avstemming" } } + ).let { session.run(it.asUpdate) }.also { + checkInternFeil(it == 1) { "Kunne ikke opprette avstemming" } + } } fun hentSisteGrensesnittavstemming(saktype: Saktype): Grensesnittavstemming? = diff --git a/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/avstemming/Grensesnittavstemming.kt b/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/avstemming/Grensesnittavstemming.kt index 0d7c4c1b5a3..405f15caca6 100644 --- a/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/avstemming/Grensesnittavstemming.kt +++ b/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/avstemming/Grensesnittavstemming.kt @@ -1,5 +1,6 @@ package no.nav.etterlatte.utbetaling.avstemming +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.tidspunkt.Tidspunkt import no.nav.etterlatte.utbetaling.iverksetting.utbetaling.Saktype import java.nio.ByteBuffer @@ -24,7 +25,7 @@ data class Avstemmingsperiode( val til: Tidspunkt, ) { init { - require(fraOgMed.isBefore(til)) { "fraOgMed-tidspunkt maa vaere foer til-tidspunkt" } + checkInternFeil(fraOgMed.isBefore(til)) { "fraOgMed-tidspunkt maa vaere foer til-tidspunkt" } } } diff --git a/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/iverksetting/utbetaling/UtbetalingDao.kt b/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/iverksetting/utbetaling/UtbetalingDao.kt index 05da5d05f8d..7cdf6ad9d07 100644 --- a/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/iverksetting/utbetaling/UtbetalingDao.kt +++ b/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/iverksetting/utbetaling/UtbetalingDao.kt @@ -8,6 +8,7 @@ import kotliquery.queryOf import kotliquery.sessionOf import kotliquery.using import no.nav.etterlatte.libs.common.Enhetsnummer +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.objectMapper import no.nav.etterlatte.libs.common.tidspunkt.Tidspunkt import no.nav.etterlatte.libs.common.tidspunkt.toTidspunkt @@ -342,7 +343,11 @@ class UtbetalingDao( "vedtakId" to oppdragMedKvittering.vedtakId().param(), ), ).let { tx.run(it.asUpdate) } - .also { require(it == 1) { "Kunne ikke oppdatere kvittering i utbetaling" } } + .also { + checkInternFeil(it == 1) { + "Kunne ikke oppdatere kvittering i utbetaling" + } + } opprettUtbetalingshendelse( Utbetalingshendelse( diff --git a/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtaksvurderingRepository.kt b/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtaksvurderingRepository.kt index 47cbb922d5c..d92a2e22d4d 100644 --- a/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtaksvurderingRepository.kt +++ b/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtaksvurderingRepository.kt @@ -12,6 +12,7 @@ import no.nav.etterlatte.libs.common.behandling.SakType import no.nav.etterlatte.libs.common.beregning.AvkortetYtelseDto import no.nav.etterlatte.libs.common.beregning.AvkortingDto import no.nav.etterlatte.libs.common.deserialize +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.objectMapper import no.nav.etterlatte.libs.common.person.Folkeregisteridentifikator import no.nav.etterlatte.libs.common.sak.SakId @@ -406,7 +407,7 @@ class VedtaksvurderingRepository( "behandlingId" to behandlingId, ), loggtekst = "Fatter vedtak for behandling $behandlingId", - ).also { require(it == 1) } + ).also { checkInternFeil(it == 1) { "Vedtak ble ikke oppdatert etter fatting behandlingid: $behandlingId" } } .let { hentVedtakNonNull(behandlingId, this) } } @@ -432,7 +433,7 @@ class VedtaksvurderingRepository( ), loggtekst = "Attesterer vedtak $behandlingId", ).also { - require(it == 1) + checkInternFeil(it == 1) { "Vedtak ble ikke oppdatert etter attestering behandlingid: $behandlingId" } } opprett( @@ -463,7 +464,9 @@ class VedtaksvurderingRepository( """, params = mapOf("vedtakstatus" to VedtakStatus.RETURNERT.name, "behandlingId" to behandlingId), loggtekst = "Underkjenner vedtak for behandling $behandlingId", - ).also { require(it == 1) } + ).also { + checkInternFeil(it == 1) { "Vedtak ble ikke oppdatert etter underkjenning behandlingid: $behandlingId" } + } return@session hentVedtakNonNull(behandlingId, this) } @@ -476,7 +479,9 @@ class VedtaksvurderingRepository( query = "UPDATE vedtak SET vedtakstatus = :vedtakstatus WHERE behandlingId = :behandlingId", params = mapOf("vedtakstatus" to VedtakStatus.TIL_SAMORDNING.name, "behandlingId" to behandlingId), loggtekst = "Lagrer til_samordning vedtak", - ).also { require(it == 1) } + ).also { + checkInternFeil(it == 1) { "Vedtak ble ikke oppdatert etter satt til samordning behandlingid: $behandlingId" } + } return@session hentVedtakNonNull(behandlingId, this) } @@ -489,7 +494,9 @@ class VedtaksvurderingRepository( query = "UPDATE vedtak SET vedtakstatus = :vedtakstatus WHERE behandlingId = :behandlingId", params = mapOf("vedtakstatus" to VedtakStatus.SAMORDNET.name, "behandlingId" to behandlingId), loggtekst = "Lagrer samordnet vedtak", - ).also { require(it == 1) } + ).also { + checkInternFeil(it == 1) { "Vedtak ble ikke oppdatert etter samordnet behandlingid: $behandlingId" } + } return@session hentVedtakNonNull(behandlingId, this) } @@ -502,7 +509,9 @@ class VedtaksvurderingRepository( query = "UPDATE vedtak SET vedtakstatus = :vedtakstatus WHERE behandlingId = :behandlingId", params = mapOf("vedtakstatus" to VedtakStatus.IVERKSATT.name, "behandlingId" to behandlingId), loggtekst = "Lagrer iverksatt vedtak", - ).also { require(it == 1) } + ).also { + checkInternFeil(it == 1) { "Vedtak ble ikke oppdatert etter iverksatt behandlingid: $behandlingId" } + } return@session hentVedtakNonNull(behandlingId, this) } @@ -607,7 +616,9 @@ class VedtaksvurderingRepository( "behandlingId" to behandlingId, ), loggtekst = "Returnerer vedtak $behandlingId", - ).also { require(it == 1) } + ).also { + checkInternFeil(it == 1) { "Vedtak ble ikke oppdatert returnert/tilbakestilt behandlingid: $behandlingId" } + } return@session hentVedtakNonNull(behandlingId, this) } } diff --git a/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/outbox/OutboxRepository.kt b/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/outbox/OutboxRepository.kt index 720dfe9fba7..ff8a7c01f65 100644 --- a/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/outbox/OutboxRepository.kt +++ b/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/outbox/OutboxRepository.kt @@ -2,6 +2,7 @@ package no.nav.etterlatte.vedtaksvurdering.outbox import kotliquery.Row import kotliquery.queryOf +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.database.transaction import java.util.UUID import javax.sql.DataSource @@ -30,7 +31,7 @@ class OutboxRepository( """.trimIndent(), id, ).let { query -> tx.run(query.asUpdate) } - .also { require(it == 1) { "Fant ikke hendelse med id $id og status upublisert" } } + .also { checkInternFeil(it == 1) { "Fant ikke hendelse med id $id og status upublisert" } } } } diff --git a/libs/etterlatte-behandling-model/src/main/kotlin/no/nav/etterlatte/libs/common/behandling/Klage.kt b/libs/etterlatte-behandling-model/src/main/kotlin/no/nav/etterlatte/libs/common/behandling/Klage.kt index 4553731573f..801423ba7c0 100644 --- a/libs/etterlatte-behandling-model/src/main/kotlin/no/nav/etterlatte/libs/common/behandling/Klage.kt +++ b/libs/etterlatte-behandling-model/src/main/kotlin/no/nav/etterlatte/libs/common/behandling/Klage.kt @@ -6,6 +6,7 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo import com.fasterxml.jackson.annotation.JsonTypeName import no.nav.etterlatte.libs.common.feilhaandtering.InternfeilException import no.nav.etterlatte.libs.common.feilhaandtering.UgyldigForespoerselException +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.grunnlag.Grunnlagsopplysning import no.nav.etterlatte.libs.common.innsendtsoeknad.common.PDFMal import no.nav.etterlatte.libs.common.klage.AarsakTilAvbrytelse @@ -208,7 +209,7 @@ data class Klage( is KlageUtfallMedData.AvvistMedOmgjoering -> null } hjemmel?.let { - require(it.kanBrukesForSaktype(this.sak.sakType)) { + checkInternFeil(it.kanBrukesForSaktype(this.sak.sakType)) { "Hjemmelen $it er ikke gyldig for saktypen ${this.sak.sakType}" } } diff --git a/libs/etterlatte-behandling-model/src/main/kotlin/no/nav/etterlatte/libs/common/generellbehandling/GenerellBehandling.kt b/libs/etterlatte-behandling-model/src/main/kotlin/no/nav/etterlatte/libs/common/generellbehandling/GenerellBehandling.kt index ed9c13c3c12..33384c3983e 100644 --- a/libs/etterlatte-behandling-model/src/main/kotlin/no/nav/etterlatte/libs/common/generellbehandling/GenerellBehandling.kt +++ b/libs/etterlatte-behandling-model/src/main/kotlin/no/nav/etterlatte/libs/common/generellbehandling/GenerellBehandling.kt @@ -1,5 +1,6 @@ package no.nav.etterlatte.libs.common.generellbehandling +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.sak.SakId import no.nav.etterlatte.libs.common.tidspunkt.Tidspunkt import java.util.UUID @@ -46,12 +47,12 @@ data class GenerellBehandling( if (innhold !== null) { when (type) { GenerellBehandlingType.ANNEN -> - require(innhold is Innhold.Annen) { + checkInternFeil(innhold is Innhold.Annen) { "Type $type matcher " + "ikke innhold navn: ${innhold.javaClass.simpleName}" } GenerellBehandlingType.KRAVPAKKE_UTLAND -> - require(innhold is Innhold.KravpakkeUtland) { + checkInternFeil(innhold is Innhold.KravpakkeUtland) { "Type $type matcher ikke innhold navn: ${innhold.javaClass.simpleName}" } } diff --git a/libs/etterlatte-beregning-model/src/main/kotlin/Prosent.kt b/libs/etterlatte-beregning-model/src/main/kotlin/Prosent.kt index f2457891fff..c0943de49f0 100644 --- a/libs/etterlatte-beregning-model/src/main/kotlin/Prosent.kt +++ b/libs/etterlatte-beregning-model/src/main/kotlin/Prosent.kt @@ -1,10 +1,12 @@ package no.nav.etterlatte.beregning.grunnlag +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil + data class Prosent( val verdi: Int, ) { init { - require(verdi in 0..100) + checkInternFeil(verdi in 0..100) { "Ugyldig prosent verdi: $verdi" } } fun minus(verdi: Prosent?) = minus(verdi?.verdi ?: 0) diff --git a/libs/etterlatte-brev-model/src/main/kotlin/no/nav/etterlatte/brev/Brevkoder.kt b/libs/etterlatte-brev-model/src/main/kotlin/no/nav/etterlatte/brev/Brevkoder.kt index 6b972161498..0d95212b168 100644 --- a/libs/etterlatte-brev-model/src/main/kotlin/no/nav/etterlatte/brev/Brevkoder.kt +++ b/libs/etterlatte-brev-model/src/main/kotlin/no/nav/etterlatte/brev/Brevkoder.kt @@ -1,5 +1,7 @@ package no.nav.etterlatte.brev +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil + /* Breva våre er teknisk sett to brev som er satt sammen - den redigerbare delen, og delen som ligg fast. Saksbehandler kan redigere den redigerbare delen, og ved PDF-generering sender vi den delen over til brevbakeren, @@ -212,7 +214,7 @@ enum class Brevkoder( ; init { - require(redigering != ferdigstilling) { + checkInternFeil(redigering != ferdigstilling) { "Bruk forskjellige maler for redigering og ferdigstilling. $redigering og $ferdigstilling er like" } } diff --git a/libs/etterlatte-database/src/main/kotlin/JdbcUtils.kt b/libs/etterlatte-database/src/main/kotlin/JdbcUtils.kt index 5aea54cdb0f..4f53bb7af09 100644 --- a/libs/etterlatte-database/src/main/kotlin/JdbcUtils.kt +++ b/libs/etterlatte-database/src/main/kotlin/JdbcUtils.kt @@ -1,5 +1,6 @@ package no.nav.etterlatte.libs.database +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.objectMapper import no.nav.etterlatte.libs.common.sak.SakId import org.postgresql.util.PGobject @@ -9,18 +10,18 @@ import java.sql.ResultSet fun ResultSet.singleOrNull(block: ResultSet.() -> T): T? = if (next()) { block().also { - require(!next()) { "Skal være unik" } + checkInternFeil(!next()) { "Skal være unik" } } } else { null } fun ResultSet.single(block: ResultSet.() -> T): T { - require(next()) { + checkInternFeil(next()) { "Skal ha en verdi" } return block().also { - require(!next()) { "Skal være unik" } + checkInternFeil(!next()) { "Skal være unik" } } } diff --git a/libs/etterlatte-kafka/src/main/kotlin/kafka/KafkaProdusent.kt b/libs/etterlatte-kafka/src/main/kotlin/kafka/KafkaProdusent.kt index 074a72ba7f8..42f135b0e2d 100644 --- a/libs/etterlatte-kafka/src/main/kotlin/kafka/KafkaProdusent.kt +++ b/libs/etterlatte-kafka/src/main/kotlin/kafka/KafkaProdusent.kt @@ -1,5 +1,6 @@ package no.nav.etterlatte.kafka +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import org.apache.kafka.clients.producer.KafkaProducer import org.apache.kafka.clients.producer.ProducerRecord import org.apache.kafka.common.serialization.StringSerializer @@ -68,7 +69,7 @@ class TestProdusent : KafkaProdusent { verdi: V, headers: Map?, ): Pair { - require(!closed) + checkInternFeil(!closed) { "Kafka produsent var lukket" } return publiserteMeldinger.let { it.add(Record(noekkel, verdi, headers)) Pair(0, (it.size - 1).toLong()) diff --git a/libs/etterlatte-vedtaksvurdering-model/src/main/kotlin/VedtakDto.kt b/libs/etterlatte-vedtaksvurdering-model/src/main/kotlin/VedtakDto.kt index 6793611d629..ca4e9a4441c 100644 --- a/libs/etterlatte-vedtaksvurdering-model/src/main/kotlin/VedtakDto.kt +++ b/libs/etterlatte-vedtaksvurdering-model/src/main/kotlin/VedtakDto.kt @@ -9,6 +9,7 @@ import no.nav.etterlatte.libs.common.behandling.BehandlingType import no.nav.etterlatte.libs.common.behandling.RevurderingInfo import no.nav.etterlatte.libs.common.behandling.Revurderingaarsak import no.nav.etterlatte.libs.common.behandling.SakType +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.person.Folkeregisteridentifikator import no.nav.etterlatte.libs.common.sak.SakId import no.nav.etterlatte.libs.common.sak.VedtakSak @@ -86,7 +87,7 @@ data class Periode( val tom: YearMonth?, ) { init { - require(isNull(tom) || fom == tom || fom.isBefore(tom)) { + checkInternFeil(isNull(tom) || fom == tom || fom.isBefore(tom)) { "Fom må vera før eller lik tom, men fom er $fom og tom er $tom" } } diff --git a/libs/rapidsandrivers-extras/src/main/kotlin/rapidsandrivers/ListenerMedLoggingOgFeilhaandtering.kt b/libs/rapidsandrivers-extras/src/main/kotlin/rapidsandrivers/ListenerMedLoggingOgFeilhaandtering.kt index d0f3d40872b..11152a3d6bc 100644 --- a/libs/rapidsandrivers-extras/src/main/kotlin/rapidsandrivers/ListenerMedLoggingOgFeilhaandtering.kt +++ b/libs/rapidsandrivers-extras/src/main/kotlin/rapidsandrivers/ListenerMedLoggingOgFeilhaandtering.kt @@ -1,6 +1,7 @@ package no.nav.etterlatte.rapidsandrivers import no.nav.etterlatte.libs.common.event.EventnameHendelseType +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil import no.nav.etterlatte.libs.common.logging.sikkerlogger import no.nav.etterlatte.libs.common.logging.withLogContext import no.nav.etterlatte.libs.common.rapidsandrivers.correlationId @@ -62,7 +63,7 @@ abstract class ListenerMedLoggingOgFeilhaandtering : River.PacketListener { block: River.() -> Unit = {}, ) { logger.info("Initialiserer river for ${this.javaClass.simpleName}") - require(kontekst() in setOf(Kontekst.MIGRERING, Kontekst.REGULERING, Kontekst.OMREGNING, Kontekst.TEST)) { + checkInternFeil(kontekst() in setOf(Kontekst.MIGRERING, Kontekst.REGULERING, Kontekst.OMREGNING, Kontekst.TEST)) { "Bruk heller ${ListenerMedLogging::class.simpleName}, denne her svelger feilmeldinger" } River(rapidsConnection) diff --git a/libs/saksbehandling-common/src/main/kotlin/Enhetsnummer.kt b/libs/saksbehandling-common/src/main/kotlin/Enhetsnummer.kt index 2e3262a33e8..b59a73af9c2 100644 --- a/libs/saksbehandling-common/src/main/kotlin/Enhetsnummer.kt +++ b/libs/saksbehandling-common/src/main/kotlin/Enhetsnummer.kt @@ -1,12 +1,13 @@ package no.nav.etterlatte.libs.common import com.fasterxml.jackson.annotation.JsonValue +import no.nav.etterlatte.libs.common.feilhaandtering.checkInternFeil data class Enhetsnummer( @JsonValue val enhetNr: String, ) { init { - require(enhetNr.length == 4 && enhetNr.toIntOrNull() != null) { + checkInternFeil(enhetNr.length == 4 && enhetNr.toIntOrNull() != null) { "Enhetsnummer må være et firesifret tall, men var $enhetNr" } } diff --git a/libs/saksbehandling-common/src/main/kotlin/feilhaandtering/Utils.kt b/libs/saksbehandling-common/src/main/kotlin/feilhaandtering/Utils.kt index c700b9d7753..8f37e49c885 100644 --- a/libs/saksbehandling-common/src/main/kotlin/feilhaandtering/Utils.kt +++ b/libs/saksbehandling-common/src/main/kotlin/feilhaandtering/Utils.kt @@ -11,6 +11,7 @@ fun checkNotNullOrThrowException( } } +// Todo endre til if(value) fun checkInternFeil( value: Boolean, message: () -> String, @@ -20,6 +21,7 @@ fun checkInternFeil( } } +// Todo endre til if(value) fun checkUgyldigForespoerselException( value: Boolean, code: String, @@ -29,3 +31,5 @@ fun checkUgyldigForespoerselException( throw UgyldigForespoerselException(code = code, detail = message()) } } + +// TODO: må også bytte ut checknotnull og requirenotnull