From 9c5e3f0f8dfac87c7b9d276fc182de38f42b2a83 Mon Sep 17 00:00:00 2001
From: Ernesto Rico Schmidt <ernesto@helsinki.at>
Date: Wed, 18 Sep 2024 21:56:23 +0200
Subject: [PATCH] fix: expose start & end of a timeslot using astimezone

---
 program/serializers.py | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/program/serializers.py b/program/serializers.py
index 1f17d0de..8cc8124e 100644
--- a/program/serializers.py
+++ b/program/serializers.py
@@ -19,7 +19,9 @@
 #
 
 import re
+from datetime import datetime
 from functools import cached_property
+from zoneinfo import ZoneInfo
 
 from drf_jsonschema_serializer import JSONSchemaField
 from rest_framework import serializers
@@ -985,6 +987,14 @@ class TimeSlotSerializer(serializers.ModelSerializer):
     def get_note_id(obj) -> int:
         return obj.note.id if hasattr(obj, "note") else None
 
+    @staticmethod
+    def get_start(obj) -> datetime:
+        return obj.start.astimezone(tz=ZoneInfo(settings.TIME_ZONE))
+
+    @staticmethod
+    def get_end(obj) -> datetime:
+        return obj.end.astimezone(tz=ZoneInfo(settings.TIME_ZONE))
+
     def update(self, instance, validated_data):
         """Update and return an existing Show instance, given the validated data."""
 
-- 
GitLab