Initial commit

This commit is contained in:
2024-08-27 20:33:44 +02:00
commit 1f1832267d
14794 changed files with 1599592 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
from rest_framework.fields import Field
from wagtail.api.v2.serializers import BaseSerializer
class ImageDownloadUrlField(Field):
"""
Serializes the "download_url" field for images.
Example:
"download_url": "/media/images/a_test_image.jpg"
"""
def get_attribute(self, instance):
return instance
def to_representation(self, image):
return image.file.url
class ImageSerializer(BaseSerializer):
download_url = ImageDownloadUrlField(read_only=True)

View File

@@ -0,0 +1,23 @@
from wagtail.api.v2.filters import FieldsFilter, OrderingFilter, SearchFilter
from wagtail.api.v2.views import BaseAPIViewSet
from ... import get_image_model
from .serializers import ImageSerializer
class ImagesAPIViewSet(BaseAPIViewSet):
base_serializer_class = ImageSerializer
filter_backends = [FieldsFilter, OrderingFilter, SearchFilter]
body_fields = BaseAPIViewSet.body_fields + ["title", "width", "height"]
meta_fields = BaseAPIViewSet.meta_fields + ["tags", "download_url"]
listing_default_fields = BaseAPIViewSet.listing_default_fields + [
"title",
"tags",
"download_url",
]
nested_default_fields = BaseAPIViewSet.nested_default_fields + [
"title",
"download_url",
]
name = "images"
model = get_image_model()