Add document_title to the backend sharelink response

This commit is contained in:
shamoon
2026-09-05 18:57:37 -07:00
parent c869deed0e
commit 649923d639
3 changed files with 30 additions and 2 deletions
+6
View File
@@ -2812,6 +2812,11 @@ class AcknowledgeTasksViewSerializer(serializers.Serializer[dict[str, Any]]):
class ShareLinkSerializer(OwnedObjectSerializer):
document_title = serializers.CharField(
source="document.title",
read_only=True,
)
class Meta:
model = ShareLink
fields = (
@@ -2820,6 +2825,7 @@ class ShareLinkSerializer(OwnedObjectSerializer):
"expiration",
"slug",
"document",
"document_title",
"file_version",
)
+15
View File
@@ -3735,6 +3735,7 @@ class TestDocumentApi(DirectoriesMixin, ConsumeTaskMixin, APITestCase):
},
)
self.assertEqual(resp.status_code, status.HTTP_201_CREATED)
self.assertEqual(resp.data["document_title"], doc.title)
resp = self.client.post(
"/api/share_links/",
@@ -3745,6 +3746,17 @@ class TestDocumentApi(DirectoriesMixin, ConsumeTaskMixin, APITestCase):
},
)
self.assertEqual(resp.status_code, status.HTTP_201_CREATED)
self.assertEqual(resp.data["document_title"], doc.title)
response = self.client.get("/api/share_links/", format="json")
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(response.data["count"], 2)
self.assertTrue(
all(
link["document_title"] == doc.title for link in response.data["results"]
),
)
response = self.client.get(
f"/api/documents/{doc.pk}/share_links/",
@@ -3756,6 +3768,9 @@ class TestDocumentApi(DirectoriesMixin, ConsumeTaskMixin, APITestCase):
resp_data = response.json()
self.assertEqual(len(resp_data), 2)
self.assertTrue(
all(link["document_title"] == doc.title for link in resp_data),
)
self.assertGreater(len(resp_data[1]["slug"]), 0)
self.assertIsNone(resp_data[1]["expiration"])
+9 -2
View File
@@ -1888,7 +1888,14 @@ class DocumentViewSet(
now = timezone.now()
links = (
ShareLink.objects.filter(document=doc)
.only("pk", "created", "expiration", "slug")
.select_related("document")
.only(
"pk",
"created",
"expiration",
"slug",
"document__title",
)
.exclude(expiration__lt=now)
.order_by("-created")
)
@@ -4553,7 +4560,7 @@ class ShareLinkViewSet(
):
model = ShareLink
queryset = ShareLink.objects.all()
queryset = ShareLink.objects.select_related("document")
serializer_class = ShareLinkSerializer
pagination_class = StandardPagination