diff --git a/src/main/kotlin/no/nav/arbeidsgiver/tiltakrefusjon/hendelseslogg/Hendelseslogg.kt b/src/main/kotlin/no/nav/arbeidsgiver/tiltakrefusjon/hendelseslogg/Hendelseslogg.kt index 514c6404..ec862387 100644 --- a/src/main/kotlin/no/nav/arbeidsgiver/tiltakrefusjon/hendelseslogg/Hendelseslogg.kt +++ b/src/main/kotlin/no/nav/arbeidsgiver/tiltakrefusjon/hendelseslogg/Hendelseslogg.kt @@ -1,12 +1,16 @@ package no.nav.arbeidsgiver.tiltakrefusjon.hendelseslogg -import jakarta.persistence.* +import jakarta.persistence.Convert +import jakarta.persistence.Entity +import jakarta.persistence.EnumType +import jakarta.persistence.Enumerated +import jakarta.persistence.Id import no.nav.arbeidsgiver.tiltakrefusjon.refusjon.BrukerRolle import no.nav.arbeidsgiver.tiltakrefusjon.utils.Now import no.nav.arbeidsgiver.tiltakrefusjon.utils.ulid import org.hibernate.annotations.JdbcTypeCode import org.hibernate.type.SqlTypes -import java.time.LocalDateTime +import java.time.Instant @Entity data class Hendelseslogg( @@ -23,5 +27,5 @@ data class Hendelseslogg( ) { @Id val id: String = ulid() - val tidspunkt: LocalDateTime = Now.localDateTime() + val tidspunkt: Instant = Now.instant() } diff --git a/src/main/kotlin/no/nav/arbeidsgiver/tiltakrefusjon/hendelseslogg/HendelsesloggDTO.kt b/src/main/kotlin/no/nav/arbeidsgiver/tiltakrefusjon/hendelseslogg/HendelsesloggDTO.kt index bc4bb20a..18fac519 100644 --- a/src/main/kotlin/no/nav/arbeidsgiver/tiltakrefusjon/hendelseslogg/HendelsesloggDTO.kt +++ b/src/main/kotlin/no/nav/arbeidsgiver/tiltakrefusjon/hendelseslogg/HendelsesloggDTO.kt @@ -3,6 +3,7 @@ package no.nav.arbeidsgiver.tiltakrefusjon.hendelseslogg import no.nav.arbeidsgiver.tiltakrefusjon.refusjon.BrukerRolle import no.nav.arbeidsgiver.tiltakrefusjon.refusjon.erGyldigFnr import java.time.LocalDateTime +import java.time.ZoneId data class HendelsesloggDTO( val refusjonId: String, @@ -18,7 +19,7 @@ data class HendelsesloggDTO( utførtAv = utførtAv(hendelseslogg), event = hendelseslogg.event, metadata = hendelseslogg.metadata, - tidspunkt = hendelseslogg.tidspunkt, + tidspunkt = LocalDateTime.ofInstant(hendelseslogg.tidspunkt, ZoneId.of("Europe/Oslo")), ) } diff --git a/src/main/resources/db/migration/V59__tidssone_for_utbetalt_tidspunkt.sql b/src/main/resources/db/migration/V59__tidssone_for_utbetalt_tidspunkt.sql new file mode 100644 index 00000000..715edd06 --- /dev/null +++ b/src/main/resources/db/migration/V59__tidssone_for_utbetalt_tidspunkt.sql @@ -0,0 +1,4 @@ +-- godkjent_av_arbeidsgiver-feltet har ikke tidssone i databasen, men er en instant i jpa-entiteten. +-- Instants er tidspunkter med tidssoner, så kolonnen burde også ha tidssone. +alter table refusjon alter column utbetalt_tidspunkt type timestamp with time zone + using utbetalt_tidspunkt at time zone 'UTC'; diff --git a/src/main/resources/db/migration/V60__tidssone_for_hendelselogg_tidspunkt.sql b/src/main/resources/db/migration/V60__tidssone_for_hendelselogg_tidspunkt.sql new file mode 100644 index 00000000..638c189c --- /dev/null +++ b/src/main/resources/db/migration/V60__tidssone_for_hendelselogg_tidspunkt.sql @@ -0,0 +1,5 @@ +-- tidspunkt-feltet har ikke tidssone i databasen, og er en "localdatetime" i jpa-entiteten. +-- For å få tidspunktene til å bli riktige MED tidssone må vi derfor bruke "at time zone" med +-- europe/oslo i stedet for utc, slik vi gjorde med feltene hvor jpa-entiteten bruker instant. +alter table hendelseslogg alter column tidspunkt type timestamp with time zone + using tidspunkt at time zone 'Europe/Oslo';