angrybeanie_wagtail/env/lib/python3.12/site-packages/wagtailmedia/api/serializers.py

26 lines
702 B
Python
Raw Permalink Normal View History

2025-07-25 21:32:16 +10:00
import rest_framework.fields
from rest_framework.fields import ReadOnlyField
from wagtail.api.v2.serializers import BaseSerializer
from wagtail.api.v2.utils import get_full_url
class MediaDownloadUrlField(ReadOnlyField):
"""
Serializes the "download_url" field for media items.
Example:
"download_url": "http://api.example.com/media/my_video.mp4"
"""
def get_attribute(self, instance):
return instance
def to_representation(self, instance):
return get_full_url(self.context["request"], instance.url)
class MediaItemSerializer(BaseSerializer):
download_url = MediaDownloadUrlField()
media_type = rest_framework.fields.CharField(source="type")