Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sett tidssone på godkjent_av_arbeidsgiver #128

Merged
merged 2 commits into from
Sep 13, 2024

Conversation

Oddsor
Copy link
Contributor

@Oddsor Oddsor commented Sep 11, 2024

Databasekolonnen har ikke tidssone, men er mappet
til en instant i kodebasen (som har tidssone).

Denne migreringen setter tidssone på kolonnen slik at det ikke vil være forvirring (det er lett å tro at man ser på "norsk tid" i en spørring, når man
egentlig må legge på 2 timer for å se riktig tidspunkt)

@Oddsor Oddsor requested review from eirikv and sindredl September 11, 2024 13:49
@Oddsor Oddsor self-assigned this Sep 11, 2024
@Oddsor Oddsor force-pushed the fiks-godkjent-arbgiver-tidssone branch from d5b669b to a9ec751 Compare September 12, 2024 09:36
@@ -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")),
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: levere instant til frontend, og frontend tar ansvar for konvertering?

@Oddsor Oddsor requested a review from eirikv September 12, 2024 10:44
@Oddsor
Copy link
Contributor Author

Oddsor commented Sep 12, 2024

Tok også et uttrekk av alle tidspunktene i databasen i tilfelle noe faktisk skjærer seg i migreringen, men det ser ut til å ha gått greit for seg i testmiljø 🙏

-- 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';
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

obs obs, merk forskjellen her!

@Oddsor
Copy link
Contributor Author

Oddsor commented Sep 12, 2024

PR review-oppgaver og resultater:

Hva som skjer når man lagrer en "localdatetime" i en "with timezone"-timestamp?

Dette ser ut til å fungere helt fint. Litt usikker på hvorfor, det må jo bety at databaseforbindelsen til java-appen har norsk tidssone

Hva skjer hvis vi sender en UTC-timestamp i hendelsesloggen?

Ser ut til å fungere helt fint, datoen blir formatert i moment til norsk tid, og ved å legge på en timezone vil moment dreie klokkeslettet til å matche norsk tid (før når vi sendte en localtime gjorde moment bare ingenting)

For å redusere forvirring med tidspunkter når vi
gjør databaseuttrekk så ønsker vi å konvertere en del
"timestamp without time zone" til timestamps med
tidssone. Dette gjøres på litt forskjellige måter
avhengig av hvordan jpa-entitene behandler feltene.

* for instants: bruk "at time zone 'UTC'"
* for localdatetime: bruk "at time zone 'Europe/Oslo'"

Instants som lagres i en timestamp er lagret i UTC, men
ser ut som en "localdatetime" når man gjør uttrekk.
LocalDateTimes som lagres i en timestamp ser riktige ut,
og det er strengt tatt ikke nødvendig å migrere disse
bortsett fra at tidspunktet blir mer nøyaktig og at vi
fjerner all tvil om når tidspunktet gjelder for.
fakelogin-appen leverer en fake token som inneholder
en ad-gruppe, og vi kan like gjerne gjenbruke id'en.
@Oddsor Oddsor force-pushed the fiks-godkjent-arbgiver-tidssone branch from 46802a3 to 1e7dde9 Compare September 13, 2024 13:10
@Oddsor Oddsor merged commit 27c74b8 into master Sep 13, 2024
5 checks passed
@Oddsor Oddsor deleted the fiks-godkjent-arbgiver-tidssone branch September 13, 2024 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants