diff --git a/src/main/kotlin/no/nav/helse/OppgaveEndretRiver.kt b/src/main/kotlin/no/nav/helse/OppgaveEndretRiver.kt index c108756..c2471e3 100644 --- a/src/main/kotlin/no/nav/helse/OppgaveEndretRiver.kt +++ b/src/main/kotlin/no/nav/helse/OppgaveEndretRiver.kt @@ -3,9 +3,11 @@ package no.nav.helse import kotliquery.TransactionalSession import kotliquery.queryOf import kotliquery.sessionOf +import no.nav.helse.Util.asUuid import no.nav.helse.rapids_rivers.* import org.intellij.lang.annotations.Language import java.time.LocalDateTime +import java.util.* import javax.sql.DataSource class OppgaveEndretRiver( @@ -16,7 +18,7 @@ class OppgaveEndretRiver( River(rapidsConnection).apply { validate { it.demandAny("@event_name", listOf("oppgave_opprettet", "oppgave_oppdatert")) - it.requireKey("oppgaveId", "fødselsnummer", "@opprettet") + it.requireKey("oppgaveId", "fødselsnummer", "@opprettet", "behandlingId") it.requireKey("tilstand") it.requireArray("egenskaper") it.interestedIn("saksbehandler") @@ -28,6 +30,7 @@ class OppgaveEndretRiver( val oppgaveEndret = OppgaveEndret( id = packet["oppgaveId"].asLong(), fødselsnummer = packet["fødselsnummer"].asText(), + behandlingId = packet["behandlingId"].asUuid(), tilstand = packet["tilstand"].asText(), egenskaper = packet["egenskaper"].map { it.asText() }, tildelt = !packet["saksbehandler"].isMissingOrNull(), @@ -39,6 +42,7 @@ class OppgaveEndretRiver( private data class OppgaveEndret( val id: Long, val fødselsnummer: String, + val behandlingId: UUID, val tilstand: String, val egenskaper: List, val tildelt: Boolean, @@ -56,12 +60,13 @@ class OppgaveEndretRiver( private fun TransactionalSession.lagreOppgave(oppgaveEndret: OppgaveEndret) { @Language("PostgreSQL") - val query = "INSERT INTO oppgave (id, fødselsnummer, opprettet) VALUES(:id, :fodselsnummer, :opprettet) ON CONFLICT DO NOTHING" + val query = "INSERT INTO oppgave (id, fødselsnummer, behandling_id, opprettet) VALUES(:id, :fodselsnummer, :behandlingId, :opprettet) ON CONFLICT DO NOTHING" run( queryOf( query, mapOf( "id" to oppgaveEndret.id, "fodselsnummer" to oppgaveEndret.fødselsnummer, + "behandlingId" to oppgaveEndret.behandlingId, "opprettet" to oppgaveEndret.opprettet ) ).asUpdate @@ -87,4 +92,4 @@ class OppgaveEndretRiver( ).asUpdate ) } -} \ No newline at end of file +} diff --git a/src/main/resources/db/migration/V78__behandling_id_pa_oppgave.sql b/src/main/resources/db/migration/V78__behandling_id_pa_oppgave.sql new file mode 100644 index 0000000..0c3ec53 --- /dev/null +++ b/src/main/resources/db/migration/V78__behandling_id_pa_oppgave.sql @@ -0,0 +1 @@ +ALTER TABLE oppgave ADD COLUMN behandling_id UUID; diff --git a/src/test/kotlin/no/nav/helse/TestData.kt b/src/test/kotlin/no/nav/helse/TestData.kt index cbcc134..216e97c 100644 --- a/src/test/kotlin/no/nav/helse/TestData.kt +++ b/src/test/kotlin/no/nav/helse/TestData.kt @@ -73,6 +73,7 @@ object TestData { val id: Long = nextLong(), val egenskaper: List = listOf("SØKNAD", "EN_ARBEIDSGIVER", "UTBETALING_TIL_SYKMELDT"), val fødselsnummer: String = "12345678910", + val behandlingId: UUID = randomUUID(), val tilstand: String = "AvventerSaksbehandler", ) { fun id(id: Long) = copy(id = id) @@ -88,6 +89,7 @@ object TestData { "oppgaveId": $id, "tilstand": "$tilstand", "fødselsnummer": "$fødselsnummer", + "behandlingId": "$behandlingId", "egenskaper": [ ${egenskaper.joinToString { """"$it"""" }} ],