diff --git a/backend/api/posts/serializers.py b/backend/api/posts/serializers.py index df62ca9..c26be2b 100644 --- a/backend/api/posts/serializers.py +++ b/backend/api/posts/serializers.py @@ -1,6 +1,7 @@ from typing import Dict, List, Optional from rest_framework import serializers +from django.urls import reverse from django.utils.timezone import localtime from apps.archive.models import PostModel @@ -45,7 +46,11 @@ class PostPreviewSerializer(serializers.ModelSerializer): return [{"slug": i.slug, "name": i.name} for i in obj.category.all()] def get_creator(self, obj: PostModel) -> Dict[str, Optional[str]]: - avatar_url = obj.creator.avatar.file.url if obj.creator.avatar else None + avatar_url = ( + reverse("serve_file", args=[obj.creator.avatar.hash_blake3]) + if obj.creator.avatar + else None + ) return { "slug": obj.creator.slug, "name": obj.creator.name, @@ -63,7 +68,10 @@ class PostPreviewSerializer(serializers.ModelSerializer): data = [] for i in obj.files.all(): data.append( - {"type": i.file_type, "mimetype": i.mimetype, "src": i.file.url} + { + "type": i.file_type, + "src": reverse("serve_file", args=[i.hash_blake3]), + } ) return data