Skip to content

Commit 5cbcd3a

Browse files
committed
REST: Expose cover mbox link via REST API
Signed-off-by: Stephen Finucane <[email protected]>
1 parent 5b716d4 commit 5cbcd3a

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

patchwork/api/cover.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,19 +36,25 @@ class CoverLetterListSerializer(HyperlinkedModelSerializer):
3636

3737
project = ProjectSerializer(read_only=True)
3838
submitter = PersonSerializer(read_only=True)
39+
mbox = SerializerMethodField()
3940
series = SeriesSerializer(many=True, read_only=True)
4041

42+
def get_mbox(self, instance):
43+
request = self.context.get('request')
44+
return request.build_absolute_uri(instance.get_mbox_url())
45+
4146
class Meta:
4247
model = CoverLetter
4348
fields = ('id', 'url', 'project', 'msgid', 'date', 'name', 'submitter',
44-
'series')
49+
'mbox', 'series')
4550
read_only_fields = fields
4651
extra_kwargs = {
4752
'url': {'view_name': 'api-cover-detail'},
4853
}
4954

5055

5156
class CoverLetterDetailSerializer(CoverLetterListSerializer):
57+
5258
headers = SerializerMethodField()
5359

5460
def get_headers(self, instance):

patchwork/tests/test_rest_api.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,7 @@ def api_url(item=None):
457457
def assertSerialized(self, cover_obj, cover_json):
458458
self.assertEqual(cover_obj.id, cover_json['id'])
459459
self.assertEqual(cover_obj.name, cover_json['name'])
460+
self.assertIn(cover_obj.get_mbox_url(), cover_json['mbox'])
460461

461462
# nested fields
462463

0 commit comments

Comments
 (0)