diff --git a/squad/api/rest.py b/squad/api/rest.py index da424b97..4d1bcdb9 100644 --- a/squad/api/rest.py +++ b/squad/api/rest.py @@ -1310,9 +1310,17 @@ class StatusViewSet(NestedViewSetMixin, ModelViewSet): class AttachmentSerializer(serializers.ModelSerializer): + attachment_url = serializers.SerializerMethodField() + class Meta: model = Attachment - fields = ('filename', 'mimetype', 'length') + fields = '__all__' + + def get_attachment_url(self, attachment): + request = self.context.get('request') + if request is None: + return None + return request.build_absolute_uri(f"/{attachment.test_run.project}/build/{attachment.test_run.build.version}/attachments/testrun/{attachment.pk}/{attachment.filename}") class TestRunSerializer(DynamicFieldsModelSerializer, serializers.HyperlinkedModelSerializer):