From 1878b38ab4bc483d3d3a0e029cef44dd53757e94 Mon Sep 17 00:00:00 2001
From: Ernesto Rico Schmidt <ernesto@helsinki.at>
Date: Fri, 1 Nov 2024 15:33:32 -0400
Subject: [PATCH] feat: add PlaylistSerializer

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

diff --git a/program/serializers.py b/program/serializers.py
index 74a3c0e2..fea51a4c 100644
--- a/program/serializers.py
+++ b/program/serializers.py
@@ -44,6 +44,7 @@ from program.models import (
     Note,
     NoteLink,
     Playlist,
+    PlaylistEntry,
     Profile,
     ProfileLink,
     ProgramEntry,
@@ -1469,3 +1470,32 @@ class ApplicationStatePurgeSerializer(serializers.Serializer):
             "Selects all models if set to true and no other filters have been set."
         ),
     )
+
+
+class PlaylistSerializer(serializers.ModelSerializer):
+    class PlaylistEntrySerializer(serializers.ModelSerializer):
+        class Meta:
+            model = PlaylistEntry
+            fields = (
+                "duration",
+                "file_id",
+                "uri",
+            )
+
+    entries = PlaylistEntrySerializer(many=True)
+
+    class Meta:
+        model = Playlist
+        read_only_fields = (
+            "id",
+            "created_at",
+            "created_by",
+            "updated_at",
+            "updated_by",
+        )
+        fields = (
+            "description",
+            "entries",
+            "playout_mode",
+            "show_id",
+        ) + read_only_fields
-- 
GitLab