Coverage for website/announcements/api/v2/serializers.py: 100.00%
19 statements
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
1from rest_framework import serializers
3from announcements.models import Slide
4from thaliawebsite.api.v2.serializers import CleanedHTMLSerializer, ThumbnailSerializer
5from thaliawebsite.api.v2.serializers.cleaned_model_serializer import (
6 CleanedModelSerializer,
7)
10class AnnouncementSerializer(serializers.Serializer):
11 content = CleanedHTMLSerializer(read_only=True)
12 closeable = serializers.BooleanField(read_only=True)
13 icon = serializers.CharField(read_only=True)
14 id = serializers.IntegerField(read_only=True, default=None)
17class SlideSerializer(CleanedModelSerializer):
18 """Slide serializer."""
20 class Meta:
21 """Meta class for the serializer."""
23 model = Slide
24 fields = (
25 "pk",
26 "title",
27 "content",
28 "order",
29 "url",
30 )
32 content = ThumbnailSerializer(
33 size_large="slide",
34 size_medium="slide_medium",
35 size_small="slide_small",
36 )
39class FrontpageArticleSerializer(serializers.ModelSerializer):
40 """FrontpageArticle serializer."""
42 class Meta:
43 """Meta class for the serializer."""
45 model = Slide
46 fields = ("pk", "title", "content")
48 content = CleanedHTMLSerializer()