Set: PostPreviewSerialiser file urls to new serve_file api

This commit is contained in:
Aroy-Art 2025-03-12 19:46:39 +01:00
parent febb9ce668
commit 643b7491d6
Signed by: Aroy
GPG key ID: 583642324A1D2070

View file

@ -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