]> git.ipfire.org Git - thirdparty/patchwork.git/commitdiff
REST: Add id field to all endpoints
authorStephen Finucane <stephen@that.guru>
Thu, 24 Nov 2016 14:16:34 +0000 (14:16 +0000)
committerStephen Finucane <stephen@that.guru>
Fri, 23 Dec 2016 23:41:34 +0000 (23:41 +0000)
Signed-off-by: Stephen Finucane <stephen@that.guru>
Reviewed-by: Daniel Axtens <dja@axtens.net>
patchwork/api/check.py
patchwork/api/patch.py
patchwork/api/person.py
patchwork/api/project.py
patchwork/api/user.py
patchwork/tests/test_rest_api.py

index 78c21414e55341652123da15f6344449e5de979d..a66106e814c2a0b23dc9246231ca5dbdcad11363 100644 (file)
@@ -77,7 +77,7 @@ class CheckSerializer(HyperlinkedModelSerializer):
 
     class Meta:
         model = Check
-        fields = ('url', 'patch', 'user', 'date', 'state', 'target_url',
+        fields = ('id', 'url', 'patch', 'user', 'date', 'state', 'target_url',
                   'context', 'description')
         read_only_fields = ('date',)
         extra_kwargs = {
index f818f2041917292a7cc1de6a3eab57ed0257e272..bff1c6ab1700f8fb745e49f1ba1631f1935d3574 100644 (file)
@@ -79,9 +79,9 @@ class PatchListSerializer(HyperlinkedModelSerializer):
 
     class Meta:
         model = Patch
-        fields = ('url', 'project', 'msgid', 'date', 'name', 'commit_ref',
-                  'pull_url', 'state', 'archived', 'hash', 'submitter',
-                  'delegate', 'mbox', 'check', 'checks', 'tags')
+        fields = ('id', 'url', 'project', 'msgid', 'date', 'name',
+                  'commit_ref', 'pull_url', 'state', 'archived', 'hash',
+                  'submitter', 'delegate', 'mbox', 'check', 'checks', 'tags')
         read_only_fields = ('project', 'msgid', 'date', 'name', 'hash',
                             'submitter', 'mbox', 'mbox', 'series', 'check',
                             'checks', 'tags')
index c84cff5949c8869ee94d850ae5d9f95d4aa41b92..2c1ca15d9982cb8aa4f139c1faa7abdc14c95e31 100644 (file)
@@ -28,7 +28,7 @@ from patchwork.models import Person
 class PersonSerializer(HyperlinkedModelSerializer):
     class Meta:
         model = Person
-        fields = ('url', 'name', 'email', 'user')
+        fields = ('id', 'url', 'name', 'email', 'user')
         read_only_fields = fields
         extra_kwargs = {
             'url': {'view_name': 'api-person-detail'},
index 52b1763c3c3f3acaaaa5146faac3e98185b294a2..deaeb09464c8fcf544dae94baa45f12db6270a4e 100644 (file)
@@ -34,7 +34,7 @@ class ProjectSerializer(HyperlinkedModelSerializer):
 
     class Meta:
         model = Project
-        fields = ('url', 'name', 'link_name', 'list_id', 'list_email',
+        fields = ('id', 'url', 'name', 'link_name', 'list_id', 'list_email',
                   'web_url', 'scm_url', 'webscm_url')
         read_only_fields = ('name',)
         extra_kwargs = {
index c5f7c056bd94d4a9a5febb18b3a4cc45e3241a79..2153cc9b8550834311bf1e45d051f48fa24f79c9 100644 (file)
@@ -37,7 +37,7 @@ class UserSerializer(HyperlinkedModelSerializer):
 
     class Meta:
         model = User
-        fields = ('url', 'username', 'first_name', 'last_name', 'email')
+        fields = ('id', 'url', 'username', 'first_name', 'last_name', 'email')
         # we don't allow updating of emails via the API, as we need to
         # validate that the User actually owns said email first
         read_only_fields = ('username', 'email')
index 618c66c10761232add241e5d58b29673128e19eb..f44a77fb0df450685e0d3b936734b095e6a38648 100644 (file)
@@ -53,6 +53,7 @@ class TestProjectAPI(APITestCase):
         return reverse('api-project-detail', args=[item])
 
     def assertSerialized(self, project_obj, project_json):
+        self.assertEqual(project_obj.id, project_json['id'])
         self.assertEqual(project_obj.name, project_json['name'])
         self.assertEqual(project_obj.linkname, project_json['link_name'])
         self.assertEqual(project_obj.listid, project_json['list_id'])
@@ -153,6 +154,7 @@ class TestPersonAPI(APITestCase):
         return reverse('api-person-detail', args=[item])
 
     def assertSerialized(self, person_obj, person_json, has_user=False):
+        self.assertEqual(person_obj.id, person_json['id'])
         if not has_user:
             self.assertEqual(person_obj.name, person_json['name'])
             self.assertEqual(person_obj.email, person_json['email'])
@@ -230,6 +232,7 @@ class TestUserAPI(APITestCase):
         return reverse('api-user-detail', args=[item])
 
     def assertSerialized(self, user_obj, user_json):
+        self.assertEqual(user_obj.id, user_json['id'])
         self.assertEqual(user_obj.username, user_json['username'])
         self.assertNotIn('password', user_json)
         self.assertNotIn('is_superuser', user_json)
@@ -285,6 +288,7 @@ class TestPatchAPI(APITestCase):
         return reverse('api-patch-detail', args=[item])
 
     def assertSerialized(self, patch_obj, patch_json):
+        self.assertEqual(patch_obj.id, patch_json['id'])
         self.assertEqual(patch_obj.name, patch_json['name'])
         self.assertEqual(patch_obj.msgid, patch_json['msgid'])
         self.assertEqual(patch_obj.state.name, patch_json['state'])
@@ -423,6 +427,7 @@ class TestCheckAPI(APITestCase):
         return create_check(**values)
 
     def assertSerialized(self, check_obj, check_json):
+        self.assertEqual(check_obj.id, check_json['id'])
         self.assertEqual(check_obj.get_state_display(), check_json['state'])
         self.assertEqual(check_obj.target_url, check_json['target_url'])
         self.assertEqual(check_obj.context, check_json['context'])