From 806ab2b3f00fe26f0bcb0ac311a23f73e51f679b Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Mon, 9 Dec 2019 14:13:28 +0100 Subject: [PATCH] Added HTML link in non-channel Audio JSON-LD representations --- api/funkwhale_api/federation/serializers.py | 17 ++++++++++++----- api/tests/federation/test_serializers.py | 17 ++++++++++++----- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/api/funkwhale_api/federation/serializers.py b/api/funkwhale_api/federation/serializers.py index d81436d11..ec92a12e1 100644 --- a/api/funkwhale_api/federation/serializers.py +++ b/api/funkwhale_api/federation/serializers.py @@ -1157,11 +1157,18 @@ class UploadSerializer(jsonld.JsonLdSerializer): "bitrate": instance.bitrate, "size": instance.size, "duration": instance.duration, - "url": { - "href": utils.full_url(instance.listen_url), - "type": "Link", - "mediaType": instance.mimetype, - }, + "url": [ + { + "href": utils.full_url(instance.listen_url), + "type": "Link", + "mediaType": instance.mimetype, + }, + { + "type": "Link", + "mediaType": "text/html", + "href": utils.full_url(instance.track.get_absolute_url()), + }, + ], "track": TrackSerializer(track, context={"include_ap_context": False}).data, } if instance.modification_date: diff --git a/api/tests/federation/test_serializers.py b/api/tests/federation/test_serializers.py index e1ac72fdc..502faba16 100644 --- a/api/tests/federation/test_serializers.py +++ b/api/tests/federation/test_serializers.py @@ -944,11 +944,18 @@ def test_activity_pub_audio_serializer_to_ap(factories): "duration": upload.duration, "bitrate": upload.bitrate, "size": upload.size, - "url": { - "href": utils.full_url(upload.listen_url), - "type": "Link", - "mediaType": "audio/mp3", - }, + "url": [ + { + "href": utils.full_url(upload.listen_url), + "type": "Link", + "mediaType": "audio/mp3", + }, + { + "type": "Link", + "mediaType": "text/html", + "href": utils.full_url(upload.track.get_absolute_url()), + }, + ], "library": upload.library.fid, "track": serializers.TrackSerializer( upload.track, context={"include_ap_context": False}