Skip to content

Commit

Permalink
Merge pull request #655 from navikt/update_kalendervarsel
Browse files Browse the repository at this point in the history
Legg til støtte for å oppdatere varsler på kalenderavtale
  • Loading branch information
kenglxn authored Mar 1, 2024
2 parents 8d06bf0 + c0baa56 commit a2279d1
Show file tree
Hide file tree
Showing 35 changed files with 837 additions and 168 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import no.nav.arbeidsgiver.notifikasjon.hendelse.HendelseModel.AltinnMottaker
import no.nav.arbeidsgiver.notifikasjon.hendelse.HendelseModel.BeskjedOpprettet
import no.nav.arbeidsgiver.notifikasjon.hendelse.HendelseModel.BrukerKlikket
import no.nav.arbeidsgiver.notifikasjon.hendelse.HendelseModel.EksterntVarselFeilet
import no.nav.arbeidsgiver.notifikasjon.hendelse.HendelseModel.EksterntVarselKansellert
import no.nav.arbeidsgiver.notifikasjon.hendelse.HendelseModel.EksterntVarselVellykket
import no.nav.arbeidsgiver.notifikasjon.hendelse.HendelseModel.FristUtsatt
import no.nav.arbeidsgiver.notifikasjon.hendelse.HendelseModel.HardDelete
Expand Down Expand Up @@ -712,6 +713,7 @@ class BrukerRepositoryImpl(
}
is EksterntVarselFeilet -> Unit
is EksterntVarselVellykket -> Unit
is EksterntVarselKansellert -> Unit
is PåminnelseOpprettet -> oppdaterModellEtterPåminnelseOpprettet(hendelse)
is FristUtsatt -> oppdaterModellEtterFristUtsatt(hendelse)
is HendelseModel.KalenderavtaleOpprettet -> oppdaterModellEtterKalenderavtaleOpprettet(hendelse)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,9 @@ class DataproduktModel(
is EksterntVarselFeilet -> {
updateEksternVarsel(listOf(hendelse.varselId), "UTSENDING_FEILET", hendelse.altinnFeilkode, metadata.timestamp)
}
is HendelseModel.EksterntVarselKansellert -> {
updateEksternVarsel(listOf(hendelse.varselId), "UTSENDING_KANSELLERT", null, metadata.timestamp)
}

is SoftDelete -> {
if (hendelse.grupperingsid != null && hendelse.merkelapp != null){
Expand Down Expand Up @@ -558,11 +561,6 @@ class DataproduktModel(
}
}

//TODO: vurder om eksterne varsler på påminnelse skal kanselleres dersom kalenderavtalen er avlyst
//if (hendelse.tilstand == HendelseModel.KalenderavtaleTilstand.AVLYST) {
// markerIngenUtsendingPåPåminnelseEksterneVarsler(hendelse.notifikasjonId)
//}

database.nonTransactionalExecuteUpdate(
"""
update notifikasjon
Expand All @@ -577,6 +575,26 @@ class DataproduktModel(
uuid(notifikasjonId)
}
}

if (hendelse.påminnelse != null) {
opprettVarselBestilling(
notifikasjonId = hendelse.notifikasjonId,
produsentId = hendelse.produsentId,
merkelapp = hendelse.merkelapp,
eksterneVarsler = hendelse.påminnelse.eksterneVarsler,
opprinnelse = "KalenderavtaleOppdatert.påminnelse",
statusUtsending = "UTSENDING_IKKE_AVGJORT",
)
}

opprettVarselBestilling(
notifikasjonId = hendelse.notifikasjonId,
produsentId = hendelse.produsentId,
merkelapp = hendelse.merkelapp,
eksterneVarsler = hendelse.eksterneVarsler,
opprinnelse = "KalenderavtaleOppdatert.eksterneVarsler",
statusUtsending = "UTSENDING_BESTILT",
)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package no.nav.arbeidsgiver.notifikasjon.ekstern_varsling
import com.fasterxml.jackson.databind.JsonNode
import kotlinx.coroutines.slf4j.MDCContext
import no.nav.arbeidsgiver.notifikasjon.hendelse.HendelseModel.EksterntVarselFeilet
import no.nav.arbeidsgiver.notifikasjon.hendelse.HendelseModel.EksterntVarselKansellert
import no.nav.arbeidsgiver.notifikasjon.hendelse.HendelseModel.EksterntVarselSendingsvindu
import no.nav.arbeidsgiver.notifikasjon.hendelse.HendelseModel.EksterntVarselVellykket
import no.nav.arbeidsgiver.notifikasjon.hendelse.HendelseModel.Hendelse
Expand Down Expand Up @@ -75,6 +76,10 @@ sealed interface EksternVarselTilstand {
val response: AltinnResponse
) : EksternVarselTilstand

data class Kansellert(
override val data: EksternVarselStatiskData
) : EksternVarselTilstand


data class Kvittert(
override val data: EksternVarselStatiskData,
Expand All @@ -101,7 +106,7 @@ sealed interface EksternVarselTilstand {


enum class EksterntVarselTilstand {
NY, SENDT, KVITTERT
NY, SENDT, KANSELLERT, KVITTERT
}

enum class SendeStatus {
Expand Down Expand Up @@ -133,3 +138,12 @@ fun EksternVarselTilstand.Sendt.toHendelse(): Hendelse =
feilmelding = response.feilmelding,
)
}

fun EksternVarselTilstand.Kansellert.toHendelse() = EksterntVarselKansellert(
virksomhetsnummer = data.eksternVarsel.fnrEllerOrgnr,
notifikasjonId = data.notifikasjonId,
hendelseId = UUID.randomUUID(),
produsentId = data.produsentId,
kildeAppNavn = naisClientId,
varselId = data.varselId,
)
Loading

0 comments on commit a2279d1

Please sign in to comment.