From 435f2f8dd839ae399d17e1f5898f1f437605404b Mon Sep 17 00:00:00 2001
From: Konrad Mohrfeldt <konrad.mohrfeldt@farbdev.org>
Date: Mon, 15 Jul 2024 18:19:00 +0200
Subject: [PATCH] feat: add playlist_id to serialized basic program entry

---
 program/models.py      | 6 ++++++
 program/serializers.py | 1 +
 2 files changed, 7 insertions(+)

diff --git a/program/models.py b/program/models.py
index 821cd67f..493de37b 100644
--- a/program/models.py
+++ b/program/models.py
@@ -699,3 +699,9 @@ class ProgramEntry:
     end: datetime.datetime
     show: Show
     timeslot: TimeSlot | None
+
+    def playlist_id(self) -> int | None:
+        if self.timeslot and self.timeslot.playlist_id:
+            return self.timeslot.playlist_id
+        else:
+            return self.show.default_playlist_id
diff --git a/program/serializers.py b/program/serializers.py
index 7bfa67d9..bd4d0b2f 100644
--- a/program/serializers.py
+++ b/program/serializers.py
@@ -1293,6 +1293,7 @@ class BasicProgramEntrySerializer(serializers.Serializer):
     start = serializers.DateTimeField()
     end = serializers.DateTimeField()
     timeslot_id = serializers.IntegerField(allow_null=True, source="timeslot.id")
+    playlist_id = serializers.IntegerField(allow_null=True)
     show_id = serializers.IntegerField(source="show.id")
 
 
-- 
GitLab