Coverage for website/photos/api/v2/serializers/photo.py: 93.75%
16 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 photos.models import Photo
4from thaliawebsite.api.v2.serializers import ThumbnailSerializer
5from thaliawebsite.api.v2.serializers.cleaned_model_serializer import (
6 CleanedModelSerializer,
7)
10class PhotoSerializer(CleanedModelSerializer):
11 """API serializer for photos."""
13 class Meta:
14 """Meta class for the serializer."""
16 model = Photo
17 fields = ("pk", "file")
19 file = ThumbnailSerializer(
20 size_medium="photo_medium",
21 size_large="photo_large",
22 )
25class PhotoListSerializer(PhotoSerializer):
26 class Meta:
27 """Meta class for the serializer."""
29 model = Photo
30 fields = (
31 "pk",
32 "file",
33 "num_likes",
34 "liked",
35 )
37 liked = serializers.SerializerMethodField("_liked")
39 def _liked(self, instance):
40 return self.context["request"].member and instance.member_likes > 0