diff --git a/apps/podcast/serializers.py b/apps/podcast/serializers.py index 067a300..ea48d44 100755 --- a/apps/podcast/serializers.py +++ b/apps/podcast/serializers.py @@ -17,15 +17,26 @@ class PodcastCategoryListSerializer(serializers.ModelSerializer): class PodcastListSerializer(serializers.ModelSerializer): thumbnail = serializers.SerializerMethodField() + audio_file = serializers.SerializerMethodField() in_user_playlist = serializers.SerializerMethodField() - + class Meta: model = Podcast - fields = ['id', 'title', 'slug', 'thumbnail', 'description', 'audio_time', 'view_count', 'created_at', 'in_user_playlist'] + fields = ['id', 'title', 'slug', 'thumbnail', 'description', 'audio_file', + 'audio_time', 'view_count', 'created_at', 'in_user_playlist'] def get_thumbnail(self, obj): return get_thumbs(obj.thumbnail, self.context.get('request')) - + + def get_audio_file(self, obj): + """Get full URL for audio file if it exists""" + if obj.audio_file: + request = self.context.get('request') + if request: + return request.build_absolute_uri(obj.audio_file.url) + return obj.audio_file.url + return None + def get_in_user_playlist(self, obj): """ Check if the podcast is in the user's personal playlist. @@ -33,10 +44,10 @@ class PodcastListSerializer(serializers.ModelSerializer): """ request = self.context.get('request') user = request.user if request and request.user.is_authenticated else None - + if not user: return False - + return UserPlaylist.is_in_user_playlist(user, obj) diff --git a/apps/video/serializers.py b/apps/video/serializers.py index 218efc3..97b097d 100755 --- a/apps/video/serializers.py +++ b/apps/video/serializers.py @@ -17,14 +17,25 @@ class VideoCategoryListSerializer(serializers.ModelSerializer): class VideoListSerializer(serializers.ModelSerializer): thumbnail = serializers.SerializerMethodField() - + video_file = serializers.SerializerMethodField() + class Meta: model = Video - fields = ['id', 'title', 'slug', 'thumbnail', 'description', 'video_time', 'view_count', 'created_at'] + fields = ['id', 'title', 'slug', 'thumbnail', 'description', 'video_type', + 'video_file', 'video_url', 'video_time', 'view_count', 'created_at'] def get_thumbnail(self, obj): return get_thumbs(obj.thumbnail, self.context.get('request')) + def get_video_file(self, obj): + """Get full URL for video file if it exists""" + if obj.video_file: + request = self.context.get('request') + if request: + return request.build_absolute_uri(obj.video_file.url) + return obj.video_file.url + return None + class VideoPlaylistListSerializer(serializers.ModelSerializer): thumbnail = serializers.SerializerMethodField()