From c5ab426e231624898443673558fcab52b3c663d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brage=20Skj=C3=B8nborg?= Date: Thu, 22 Jan 2026 14:24:14 +0100 Subject: [PATCH] UTC --- apps/py-metadata/utils/time.py | 16 ++++++++++++++++ apps/py-watcher/models/event.py | 4 +++- apps/py-watcher/utils/time.py | 16 ++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 apps/py-metadata/utils/time.py create mode 100644 apps/py-watcher/utils/time.py diff --git a/apps/py-metadata/utils/time.py b/apps/py-metadata/utils/time.py new file mode 100644 index 00000000..31807ce1 --- /dev/null +++ b/apps/py-metadata/utils/time.py @@ -0,0 +1,16 @@ +from datetime import datetime, timezone + +def utc_now(): + """ + Returnerer et offset-aware UTC datetime-objekt. + Brukes for alle timestamps som skal inn i databasen. + """ + return datetime.now(timezone.utc) + + +def utc_iso(): + """ + Returnerer en ISO8601-streng i UTC, f.eks. '2025-01-22T12:34:56.789012+00:00' + Perfekt for JSON-serialisering og DB-felter som lagres som tekst. + """ + return utc_now().isoformat() diff --git a/apps/py-watcher/models/event.py b/apps/py-watcher/models/event.py index a3c3ab5b..d66ba588 100644 --- a/apps/py-watcher/models/event.py +++ b/apps/py-watcher/models/event.py @@ -3,6 +3,8 @@ from datetime import datetime from typing import Optional, Set from pydantic import BaseModel +from utils.time import utc_now + # --- Metadata --- class Metadata(BaseModel): created: str @@ -34,6 +36,6 @@ def create_event(event_cls, file_name: str, file_uri: str, reference_id: Optiona return event_cls( referenceId=reference_id or str(uuid.uuid4()), eventId=str(uuid.uuid4()), - metadata=Metadata(created=datetime.now().isoformat()), + metadata=Metadata(created=utc_now().isoformat()), data=FileInfo(fileName=file_name, fileUri=file_uri) ) diff --git a/apps/py-watcher/utils/time.py b/apps/py-watcher/utils/time.py new file mode 100644 index 00000000..31807ce1 --- /dev/null +++ b/apps/py-watcher/utils/time.py @@ -0,0 +1,16 @@ +from datetime import datetime, timezone + +def utc_now(): + """ + Returnerer et offset-aware UTC datetime-objekt. + Brukes for alle timestamps som skal inn i databasen. + """ + return datetime.now(timezone.utc) + + +def utc_iso(): + """ + Returnerer en ISO8601-streng i UTC, f.eks. '2025-01-22T12:34:56.789012+00:00' + Perfekt for JSON-serialisering og DB-felter som lagres som tekst. + """ + return utc_now().isoformat()