]> git.ipfire.org Git - thirdparty/patchwork.git/commitdiff
REST: Expose cover mbox link via REST API
authorStephen Finucane <stephen@that.guru>
Wed, 24 May 2017 10:29:31 +0000 (11:29 +0100)
committerStephen Finucane <stephen@that.guru>
Tue, 30 May 2017 20:42:55 +0000 (21:42 +0100)
Signed-off-by: Stephen Finucane <stephen@that.guru>
patchwork/api/cover.py
patchwork/tests/test_rest_api.py

index 797cadfd71799c5adafac4d92076955714c66000..5d829eba2f07b02d4e4192bd59fe289af83befa9 100644 (file)
@@ -36,12 +36,17 @@ class CoverLetterListSerializer(HyperlinkedModelSerializer):
 
     project = ProjectSerializer(read_only=True)
     submitter = PersonSerializer(read_only=True)
+    mbox = SerializerMethodField()
     series = SeriesSerializer(many=True, read_only=True)
 
+    def get_mbox(self, instance):
+        request = self.context.get('request')
+        return request.build_absolute_uri(instance.get_mbox_url())
+
     class Meta:
         model = CoverLetter
         fields = ('id', 'url', 'project', 'msgid', 'date', 'name', 'submitter',
-                  'series')
+                  'mbox', 'series')
         read_only_fields = fields
         extra_kwargs = {
             'url': {'view_name': 'api-cover-detail'},
@@ -49,6 +54,7 @@ class CoverLetterListSerializer(HyperlinkedModelSerializer):
 
 
 class CoverLetterDetailSerializer(CoverLetterListSerializer):
+
     headers = SerializerMethodField()
 
     def get_headers(self, instance):
index 8d6462594fab193a3880d23df4a62b72dfb09bf6..abffd17fddec4c862284be749fb44a25df88be62 100644 (file)
@@ -457,6 +457,7 @@ class TestCoverLetterAPI(APITestCase):
     def assertSerialized(self, cover_obj, cover_json):
         self.assertEqual(cover_obj.id, cover_json['id'])
         self.assertEqual(cover_obj.name, cover_json['name'])
+        self.assertIn(cover_obj.get_mbox_url(), cover_json['mbox'])
 
         # nested fields