mirror of
https://github.com/Dispatcharr/Dispatcharr.git
synced 2026-01-23 02:35:14 +00:00
24 lines
896 B
Python
24 lines
896 B
Python
from rest_framework import serializers
|
|
from .models import EPGSource, EPGData, ProgramData
|
|
from apps.channels.models import Channel
|
|
|
|
class EPGSourceSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = EPGSource
|
|
fields = ['id', 'name', 'source_type', 'url', 'api_key', 'is_active']
|
|
|
|
class ProgramDataSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = ProgramData
|
|
fields = ['id', 'start_time', 'end_time', 'title', 'sub_title', 'description', 'tvg_id']
|
|
|
|
class EPGDataSerializer(serializers.ModelSerializer):
|
|
programs = ProgramDataSerializer(many=True, read_only=True)
|
|
channel = serializers.SerializerMethodField()
|
|
|
|
def get_channel(self, obj):
|
|
return {"id": obj.channel.id, "name": obj.channel.name} if obj.channel else None
|
|
|
|
class Meta:
|
|
model = EPGData
|
|
fields = ['id', 'channel', 'name', 'programs']
|