@@ -47,11 +47,12 @@ class CommentListSerializer(BaseHyperlinkedModelSerializer):
class Meta:
model = Comment
- fields = ('id', 'web_url', 'msgid', 'date', 'subject', 'submitter',
- 'content', 'headers')
+ fields = ('id', 'web_url', 'msgid', 'list_archive_url', 'date',
+ 'subject', 'submitter', 'content', 'headers')
read_only_fields = fields
versioned_fields = {
'1.1': ('web_url', ),
+ '1.2': ('list_archive_url',),
}
@@ -50,11 +50,13 @@ class CoverLetterListSerializer(BaseHyperlinkedModelSerializer):
class Meta:
model = CoverLetter
- fields = ('id', 'url', 'web_url', 'project', 'msgid', 'date', 'name',
- 'submitter', 'mbox', 'series', 'comments')
+ fields = ('id', 'url', 'web_url', 'project', 'msgid',
+ 'list_archive_url', 'date', 'name', 'submitter', 'mbox',
+ 'series', 'comments')
read_only_fields = fields
versioned_fields = {
'1.1': ('web_url', 'mbox', 'comments'),
+ '1.2': ('list_archive_url',),
}
extra_kwargs = {
'url': {'view_name': 'api-cover-detail'},
@@ -108,10 +108,12 @@ class CoverLetterSerializer(SerializedRelatedField):
class Meta:
model = models.CoverLetter
- fields = ('id', 'url', 'web_url', 'msgid', 'date', 'name', 'mbox')
+ fields = ('id', 'url', 'web_url', 'msgid', 'list_archive_url',
+ 'date', 'name', 'mbox')
read_only_fields = fields
versioned_fields = {
'1.1': ('web_url', 'mbox', ),
+ '1.2': ('list_archive_url',),
}
extra_kwargs = {
'url': {'view_name': 'api-cover-detail'},
@@ -124,10 +126,12 @@ class PatchSerializer(SerializedRelatedField):
class Meta:
model = models.Patch
- fields = ('id', 'url', 'web_url', 'msgid', 'date', 'name', 'mbox')
+ fields = ('id', 'url', 'web_url', 'msgid', 'list_archive_url',
+ 'date', 'name', 'mbox')
read_only_fields = fields
versioned_fields = {
'1.1': ('web_url', ),
+ '1.2': ('list_archive_url',),
}
extra_kwargs = {
'url': {'view_name': 'api-patch-detail'},
@@ -158,11 +162,15 @@ class ProjectSerializer(SerializedRelatedField):
class Meta:
model = models.Project
fields = ('id', 'url', 'name', 'link_name', 'list_id',
- 'list_email', 'web_url', 'scm_url', 'webscm_url')
+ 'list_email', 'web_url', 'scm_url', 'webscm_url',
+ 'list_archive_url', 'list_archive_lookup_prefix')
read_only_fields = fields
extra_kwargs = {
'url': {'view_name': 'api-project-detail'},
}
+ versioned_fields = {
+ '1.2': ('list_archive_url', 'list_archive_lookup_prefix'),
+ }
class SeriesSerializer(SerializedRelatedField):
@@ -121,15 +121,16 @@ class PatchListSerializer(BaseHyperlinkedModelSerializer):
class Meta:
model = Patch
- fields = ('id', 'url', 'web_url', 'project', 'msgid', 'date', 'name',
- 'commit_ref', 'pull_url', 'state', 'archived', 'hash',
- 'submitter', 'delegate', 'mbox', 'series', 'comments',
- 'check', 'checks', 'tags')
- read_only_fields = ('web_url', 'project', 'msgid', 'date', 'name',
- 'hash', 'submitter', 'mbox', 'series', 'comments',
- 'check', 'checks', 'tags')
+ fields = ('id', 'url', 'web_url', 'project', 'msgid',
+ 'list_archive_url', 'date', 'name', 'commit_ref', 'pull_url',
+ 'state', 'archived', 'hash', 'submitter', 'delegate', 'mbox',
+ 'series', 'comments', 'check', 'checks', 'tags')
+ read_only_fields = ('web_url', 'project', 'msgid', 'list_archive_url',
+ 'date', 'name', 'hash', 'submitter', 'mbox',
+ 'series', 'comments', 'check', 'checks', 'tags')
versioned_fields = {
'1.1': ('comments', 'web_url'),
+ '1.2': ('list_archive_url',),
}
extra_kwargs = {
'url': {'view_name': 'api-patch-detail'},
@@ -26,11 +26,13 @@ class ProjectSerializer(BaseHyperlinkedModelSerializer):
model = Project
fields = ('id', 'url', 'name', 'link_name', 'list_id', 'list_email',
'web_url', 'scm_url', 'webscm_url', 'maintainers',
- 'subject_match')
+ 'subject_match', 'list_archive_url',
+ 'list_archive_lookup_prefix')
read_only_fields = ('name', 'link_name', 'list_id', 'list_email',
'maintainers', 'subject_match')
versioned_fields = {
'1.1': ('subject_match', ),
+ '1.2': ('list_archive_url', 'list_archive_lookup_prefix'),
}
extra_kwargs = {
'url': {'view_name': 'api-project-detail'},
@@ -68,7 +70,8 @@ class ProjectList(ProjectMixin, ListAPIView):
"""List projects."""
search_fields = ('link_name', 'list_id', 'list_email', 'web_url',
- 'scm_url', 'webscm_url')
+ 'scm_url', 'webscm_url', 'list_archive_url',
+ 'list_archive_lookup_prefix')
ordering_fields = ('id', 'name', 'link_name', 'list_id')
ordering = 'id'
@@ -234,8 +234,8 @@ if settings.ENABLE_REST_API:
]
urlpatterns += [
- url(r'^api/(?:(?P<version>(1.0|1.1))/)?', include(api_patterns)),
- url(r'^api/(?:(?P<version>1.1)/)?', include(api_1_1_patterns)),
+ url(r'^api/(?:(?P<version>(1.0|1.1|1.2))/)?', include(api_patterns)),
+ url(r'^api/(?:(?P<version>(1.1|1.2))/)?', include(api_1_1_patterns)),
# token change
url(r'^user/generate-token/$', user_views.generate_token,
Add the new list archive fields to the API. As this is a backwards-compatible change, this requires only a minor version increment to v1.2. Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com> --- patchwork/api/comment.py | 5 +++-- patchwork/api/cover.py | 6 ++++-- patchwork/api/embedded.py | 14 +++++++++++--- patchwork/api/patch.py | 15 ++++++++------- patchwork/api/project.py | 7 +++++-- patchwork/urls.py | 4 ++-- 6 files changed, 33 insertions(+), 18 deletions(-)