Browse Source

#644: finalize api

Rafał Pitoń 8 years ago
parent
commit
7c4e452e36

+ 3 - 3
misago/core/serializers.py

@@ -1,6 +1,6 @@
 class MutableFields(object):
     @classmethod
-    def subset(cls, *fields):
+    def subset_fields(cls, *fields):
         fields_in_name = [f.title().replace('_', '') for f in fields]
         name = '{}{}Subset'.format(cls.__name__, ''.join(fields_in_name)[:100])
 
@@ -14,7 +14,7 @@ class MutableFields(object):
         })
 
     @classmethod
-    def subset_exclude(cls, *fields):
+    def exclude_fields(cls, *fields):
         final_fields = []
         for field in cls.Meta.fields:
             if field not in fields:
@@ -33,7 +33,7 @@ class MutableFields(object):
         })
 
     @classmethod
-    def subset_extend(cls, *fields):
+    def extend_fields(cls, *fields):
         final_fields = list(cls.Meta.fields)
         for field in fields:
             if field not in final_fields:

+ 9 - 9
misago/core/tests/test_serializers.py

@@ -9,14 +9,14 @@ from misago.threads.models import Thread
 
 
 class MutableFieldsSerializerTests(TestCase):
-    def test_create_subset_serializer(self):
-        """classmethod subset creates new serializer"""
+    def test_subset_fields(self):
+        """classmethod subset_fields creates new serializer"""
         category = Category.objects.get(slug='first-category')
         thread = testutils.post_thread(category=category)
 
         fields = ('id', 'title', 'replies', 'last_poster_name')
 
-        serializer = TestSerializer.subset(*fields)
+        serializer = TestSerializer.subset_fields(*fields)
         self.assertEqual(
             serializer.__name__,
             'TestSerializerIdTitleRepliesLastPosterNameSubset'
@@ -33,15 +33,15 @@ class MutableFieldsSerializerTests(TestCase):
 
         self.assertFalse(TestSerializer.Meta.fields == serializer.Meta.fields)
 
-    def test_create_subset_serializer_exclude(self):
-        """classmethod exclude creates new serializer"""
+    def test_exclude_fields(self):
+        """classmethod exclude_fields creates new serializer"""
         category = Category.objects.get(slug='first-category')
         thread = testutils.post_thread(category=category)
 
         kept_fields = ('id', 'title', 'weight')
         removed_fields = tuple(set(TestSerializer.Meta.fields) - set(kept_fields))
 
-        serializer = TestSerializer.subset_exclude(*removed_fields)
+        serializer = TestSerializer.exclude_fields(*removed_fields)
         self.assertEqual(serializer.__name__, 'TestSerializerIdTitleWeightSubset')
         self.assertEqual(serializer.Meta.fields, kept_fields)
 
@@ -54,14 +54,14 @@ class MutableFieldsSerializerTests(TestCase):
 
         self.assertFalse(TestSerializer.Meta.fields == serializer.Meta.fields)
 
-    def test_create_subset_serializer_extend(self):
-        """classmethod extend creates new serializer"""
+    def test_extend_fields(self):
+        """classmethod extend_fields creates new serializer"""
         category = Category.objects.get(slug='first-category')
         thread = testutils.post_thread(category=category)
 
         added_fields = ('category',)
 
-        serializer = TestSerializer.subset_extend(*added_fields)
+        serializer = TestSerializer.extend_fields(*added_fields)
 
         serialized_thread = serializer(thread).data
         self.assertEqual(serialized_thread['category'], category.pk)

+ 2 - 2
misago/threads/serializers/feed.py

@@ -16,11 +16,11 @@ __all__ = [
 
 
 
-FeedUserSerializer = UserSerializer.subset(
+FeedUserSerializer = UserSerializer.subset_fields(
     'id', 'username', 'avatars', 'absolute_url')
 
 
-FeedCategorySerializer = CategorySerializer.subset(
+FeedCategorySerializer = CategorySerializer.subset_fields(
     'name', 'css_class', 'absolute_url')
 
 

+ 1 - 1
misago/threads/serializers/post.py

@@ -11,7 +11,7 @@ from misago.users.serializers import UserSerializer as BaseUserSerializer
 __all__ = ['PostSerializer']
 
 
-UserSerializer = BaseUserSerializer.subset(
+UserSerializer = BaseUserSerializer.subset_fields(
     'id', 'username', 'rank', 'avatars', 'signature', 'short_title', 'status', 'absolute_url')
 
 

+ 2 - 2
misago/threads/serializers/thread.py

@@ -17,7 +17,7 @@ __all__ = [
 ]
 
 
-BasicCategorySerializer = CategorySerializer.subset(
+BasicCategorySerializer = CategorySerializer.subset_fields(
     'id', 'parent', 'name', 'description', 'is_closed', 'css_class',
     'absolute_url', 'api_url', 'level', 'lft', 'rght', 'is_read')
 
@@ -151,4 +151,4 @@ class ThreadsListSerializer(ThreadSerializer):
         fields = ThreadSerializer.Meta.fields + (
             'has_poll', 'top_category'
         )
-ThreadsListSerializer = ThreadsListSerializer.subset_exclude('path', 'poll')
+ThreadsListSerializer = ThreadsListSerializer.exclude_fields('path', 'poll')

+ 1 - 1
misago/threads/viewmodels/category.py

@@ -90,6 +90,6 @@ class PrivateThreadsCategory(ViewModel):
         return categories[0]
 
 
-BasicCategorySerializer = CategorySerializer.subset(
+BasicCategorySerializer = CategorySerializer.subset_fields(
     'id', 'parent', 'name', 'description', 'is_closed', 'css_class',
     'absolute_url', 'api_url', 'level', 'lft', 'rght', 'is_read')

+ 1 - 1
misago/users/api/userendpoints/list.py

@@ -87,4 +87,4 @@ def list_endpoint(request):
         return generic(request)
 
 
-ScoredUserSerializer = UserCardSerializer.subset_extend('meta')
+ScoredUserSerializer = UserCardSerializer.extend_fields('meta')

+ 1 - 1
misago/users/api/users.py

@@ -258,7 +258,7 @@ class UserViewSet(viewsets.GenericViewSet):
         return Response(feed.get_frontend_context())
 
 
-UserProfileSerializer = UserSerializer.subset(
+UserProfileSerializer = UserSerializer.subset_fields(
     'id', 'username', 'slug', 'email', 'joined_on', 'rank', 'title', 'avatars',
     'is_avatar_locked', 'signature', 'is_signature_locked', 'followers', 'following',
     'threads', 'posts', 'acl', 'is_followed', 'is_blocked', 'status', 'absolute_url',

+ 1 - 1
misago/users/serializers/auth.py

@@ -53,7 +53,7 @@ class AuthenticatedUserSerializer(UserSerializer, AuthFlags):
                 'misago:api:user-change-password', kwargs={'pk': obj.pk}),
         }
 
-AuthenticatedUserSerializer = AuthenticatedUserSerializer.subset_exclude(
+AuthenticatedUserSerializer = AuthenticatedUserSerializer.exclude_fields(
     'is_avatar_locked', 'is_blocked', 'is_followed', 'is_signature_locked',
     'meta', 'signature', 'status',
 )

+ 1 - 1
misago/users/serializers/user.py

@@ -128,6 +128,6 @@ class UserSerializer(serializers.ModelSerializer, MutableFields):
         }
 
 
-UserCardSerializer = UserSerializer.subset(
+UserCardSerializer = UserSerializer.subset_fields(
     'id', 'username', 'joined_on', 'rank', 'title', 'avatars', 'followers',
     'threads', 'posts', 'status', 'absolute_url')

+ 1 - 1
misago/users/serializers/usernamechange.py

@@ -8,7 +8,7 @@ from .user import UserSerializer as BaseUserSerializer
 __all__ = ['UsernameChangeSerializer']
 
 
-UserSerializer = BaseUserSerializer.subset(
+UserSerializer = BaseUserSerializer.subset_fields(
     'id', 'username', 'avatars', 'absolute_url')
 
 

+ 1 - 1
misago/users/viewmodels/threads.py

@@ -77,4 +77,4 @@ class UserThreads(object):
         }
 
 
-UserFeedSerializer = FeedSerializer.subset_exclude('poster')
+UserFeedSerializer = FeedSerializer.exclude_fields('poster')

+ 1 - 1
misago/users/views/lists.py

@@ -126,4 +126,4 @@ def rank(request, slug, page=0):
     })
 
 
-ScoredUserSerializer = UserCardSerializer.subset_extend('meta')
+ScoredUserSerializer = UserCardSerializer.extend_fields('meta')

+ 1 - 1
misago/users/views/profile.py

@@ -205,7 +205,7 @@ def user_ban(request, profile):
     })
 
 
-UserProfileSerializer = UserSerializer.subset(
+UserProfileSerializer = UserSerializer.subset_fields(
     'id', 'username', 'slug', 'email', 'joined_on', 'rank', 'title', 'avatars',
     'is_avatar_locked', 'signature', 'is_signature_locked', 'followers', 'following',
     'threads', 'posts', 'acl', 'is_followed', 'is_blocked', 'status', 'absolute_url',