Skip to content

Commit

Permalink
La inn lagring av eksterne bekreftelser i InternTilstand
Browse files Browse the repository at this point in the history
  • Loading branch information
nilsmsa committed Oct 23, 2024
1 parent 1bc9b90 commit 7805be9
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@ enum class Loesning {
Bekreftelsesloesning.ARBEIDSSOEKERREGISTERET -> ARBEIDSSOEKERREGISTERET
Bekreftelsesloesning.DAGPENGER -> DAGPENGER
}
fun from(value: no.nav.paw.bekreftelse.melding.v1.vo.Bekreftelsesloesning): Loesning = when (value) {
no.nav.paw.bekreftelse.melding.v1.vo.Bekreftelsesloesning.UKJENT_VERDI -> UKJENT_VERDI
no.nav.paw.bekreftelse.melding.v1.vo.Bekreftelsesloesning.ARBEIDSSOEKERREGISTERET -> ARBEIDSSOEKERREGISTERET
no.nav.paw.bekreftelse.melding.v1.vo.Bekreftelsesloesning.DAGPENGER -> DAGPENGER
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package no.nav.paw.bekreftelsetjeneste.tilstand

import no.nav.paw.arbeidssokerregisteret.api.v1.Periode

const val MAKS_ANTALL_HISTRISKE_BEKREFTELSER = 20

@JvmRecord
data class InternTilstand(
val periode: PeriodeInfo,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import no.nav.paw.bekreftelse.internehendelser.BekreftelseHendelse
import no.nav.paw.bekreftelse.internehendelser.BekreftelseHendelseSerde
import no.nav.paw.bekreftelse.internehendelser.BekreftelseMeldingMottatt
import no.nav.paw.bekreftelse.melding.v1.vo.Bekreftelsesloesning
import no.nav.paw.bekreftelsetjeneste.ansvar.Loesning
import no.nav.paw.bekreftelsetjeneste.config.ApplicationConfig
import no.nav.paw.bekreftelsetjeneste.tilstand.*
import no.nav.paw.config.kafka.streams.Punctuation
Expand Down Expand Up @@ -59,6 +60,20 @@ fun StreamsBuilder.buildBekreftelseStream(applicationConfig: ApplicationConfig)
internTilstandStateStore.put(gjeldendeTilstand.periode.periodeId, nyTilstand)
}
forwardHendelser(record, hendelser, this::forward)
} else {
val ansvarStateStore = getStateStore<AnsvarStateStore>(ansvarStateStoreName)
val ansvar = ansvarStateStore[gjeldendeTilstand.periode.periodeId]?.ansvarlige ?: emptyList()
if (ansvar.any { ansvarlig -> ansvarlig.loesning == Loesning.from(record.value().bekreftelsesloesning) }) {
gjeldendeTilstand.oppdaterBekreftelse(Bekreftelse(
tilstandsLogg = BekreftelseTilstandsLogg(
siste = Levert(record.value().svar.sendtInn.tidspunkt),
tidligere = emptyList()
),
bekreftelseId = record.value().id,
gjelderFra = record.value().svar.gjelderFra,
gjelderTil = record.value().svar.gjelderTil
))
}
}
}
.to(bekreftelseHendelseloggTopic, Produced.with(Serdes.Long(), BekreftelseHendelseSerde()))
Expand Down

0 comments on commit 7805be9

Please sign in to comment.