From c28884114c0049ff4d326569bd1ca6274f6451fd Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Fri, 7 Feb 2020 00:29:04 +0100 Subject: [PATCH] Add some doc --- apps/activity/serializers.py | 27 ++++++++++++++++ apps/api/urls.py | 14 +++++++- apps/member/serializers.py | 36 +++++++++++++++++++++ apps/note/serializers.py | 63 ++++++++++++++++++++++++++++++++++++ 4 files changed, 139 insertions(+), 1 deletion(-) diff --git a/apps/activity/serializers.py b/apps/activity/serializers.py index cca55751..4d79426b 100644 --- a/apps/activity/serializers.py +++ b/apps/activity/serializers.py @@ -6,33 +6,60 @@ from .models import ActivityType, Activity, Guest from rest_framework import serializers, viewsets class ActivityTypeSerializer(serializers.HyperlinkedModelSerializer): + """ + REST API Serializer for Activity types. + The djangorestframework plugin will analyse the model `ActivityType` and parse all fields in the API. + """ class Meta: model = ActivityType fields = '__all__' class ActivityTypeViewSet(viewsets.ModelViewSet): + """ + REST API View set. + The djangorestframework plugin will get all `ActivityType` objects, serialize it to JSON with the given serializer, + then render it on /api/activity/type/ + """ queryset = ActivityType.objects.all() serializer_class = ActivityTypeSerializer class ActivitySerializer(serializers.HyperlinkedModelSerializer): + """ + REST API Serializer for Activities. + The djangorestframework plugin will analyse the model `Activity` and parse all fields in the API. + """ class Meta: model = Activity fields = '__all__' class ActivityViewSet(viewsets.ModelViewSet): + """ + REST API View set. + The djangorestframework plugin will get all `Activity` objects, serialize it to JSON with the given serializer, + then render it on /api/activity/activity/ + """ queryset = Activity.objects.all() serializer_class = ActivitySerializer class GuestSerializer(serializers.HyperlinkedModelSerializer): + """ + REST API Serializer for Guests. + The djangorestframework plugin will analyse the model `Guest` and parse all fields in the API. + """ class Meta: model = Guest fields = '__all__' class GuestViewSet(viewsets.ModelViewSet): + """ + REST API View set. + The djangorestframework plugin will get all `Guest` objects, serialize it to JSON with the given serializer, + then render it on /api/activity/guest/ + """ queryset = Guest.objects.all() serializer_class = GuestSerializer diff --git a/apps/api/urls.py b/apps/api/urls.py index cca07d80..c149b3f4 100644 --- a/apps/api/urls.py +++ b/apps/api/urls.py @@ -11,11 +11,20 @@ from note.serializers import NoteViewSet, NoteClubViewSet, NoteUserViewSet, Note TransactionViewSet, TransactionTemplateViewSet, MembershipTransactionViewSet class UserSerializer(serializers.HyperlinkedModelSerializer): + """ + REST API Serializer for Users. + The djangorestframework plugin will analyse the model `User` and parse all fields in the API. + """ class Meta: model = User fields = ('username', 'first_name', 'last_name', 'email', 'is_staff',) class UserViewSet(viewsets.ModelViewSet): + """ + REST API View set. + The djangorestframework plugin will get all `User` objects, serialize it to JSON with the given serializer, + then render it on /api/users/ + """ queryset = User.objects.all() serializer_class = UserSerializer @@ -23,21 +32,24 @@ class UserViewSet(viewsets.ModelViewSet): router = routers.DefaultRouter() router.register(r'users', UserViewSet) +# Routers for members app router.register(r'members/profile', ProfileViewSet) router.register(r'members/club', ClubViewSet) router.register(r'members/role', RoleViewSet) router.register(r'members/membership', MembershipViewSet) +# Routers for activity app router.register(r'activity/activity', ActivityViewSet) router.register(r'activity/type', ActivityTypeViewSet) router.register(r'activity/guest', GuestViewSet) +# Routers for note app router.register(r'note/note', NoteViewSet) router.register(r'note/club', NoteClubViewSet) router.register(r'note/user', NoteUserViewSet) router.register(r'note/special', NoteSpecialViewSet) -router.register(r'note/transaction', TransactionViewSet) +router.register(r'note/transaction/transaction', TransactionViewSet) router.register(r'note/transaction/template', TransactionTemplateViewSet) router.register(r'note/transaction/membership', MembershipTransactionViewSet) diff --git a/apps/member/serializers.py b/apps/member/serializers.py index cb6bcdce..2ead2c97 100644 --- a/apps/member/serializers.py +++ b/apps/member/serializers.py @@ -6,45 +6,81 @@ from .models import Profile, Club, Role, Membership from rest_framework import serializers, viewsets class ProfileSerializer(serializers.HyperlinkedModelSerializer): + """ + REST API Serializer for Profiles. + The djangorestframework plugin will analyse the model `Profile` and parse all fields in the API. + """ class Meta: model = Profile fields = '__all__' class ProfileViewSet(viewsets.ModelViewSet): + """ + REST API View set. + The djangorestframework plugin will get all `Profile` objects, serialize it to JSON with the given serializer, + then render it on /api/members/profile/ + """ queryset = Profile.objects.all() serializer_class = ProfileSerializer class ClubSerializer(serializers.HyperlinkedModelSerializer): + """ + REST API Serializer for Clubs. + The djangorestframework plugin will analyse the model `Club` and parse all fields in the API. + """ class Meta: model = Club fields = '__all__' class ClubViewSet(viewsets.ModelViewSet): + """ + REST API View set. + The djangorestframework plugin will get all `Club` objects, serialize it to JSON with the given serializer, + then render it on /api/members/club/ + """ queryset = Club.objects.all() serializer_class = ClubSerializer class RoleSerializer(serializers.HyperlinkedModelSerializer): + """ + REST API Serializer for Roles. + The djangorestframework plugin will analyse the model `Role` and parse all fields in the API. + """ class Meta: model = Role fields = '__all__' class RoleViewSet(viewsets.ModelViewSet): + """ + REST API View set. + The djangorestframework plugin will get all `Role` objects, serialize it to JSON with the given serializer, + then render it on /api/members/role/ + """ queryset = Role.objects.all() serializer_class = RoleSerializer class MembershipSerializer(serializers.HyperlinkedModelSerializer): + """ + REST API Serializer for Memberships. + The djangorestframework plugin will analyse the model `Memberships` and parse all fields in the API. + """ class Meta: model = Membership fields = '__all__' class MembershipViewSet(viewsets.ModelViewSet): + """ + REST API View set. + The djangorestframework plugin will get all `Membership` objects, serialize it to JSON with the given serializer, + then render it on /api/members/membership/ + """ queryset = Membership.objects.all() serializer_class = MembershipSerializer diff --git a/apps/note/serializers.py b/apps/note/serializers.py index 39ce835a..db63ea6b 100644 --- a/apps/note/serializers.py +++ b/apps/note/serializers.py @@ -7,77 +7,140 @@ from .models.transactions import TransactionTemplate, Transaction, MembershipTra from rest_framework import serializers, viewsets class NoteSerializer(serializers.HyperlinkedModelSerializer): + """ + REST API Serializer for Notes. + The djangorestframework plugin will analyse the model `Note` and parse all fields in the API. + """ class Meta: model = Note fields = ('balance', 'is_active', 'display_image', 'created_at',) class NoteViewSet(viewsets.ModelViewSet): + """ + REST API View set. + The djangorestframework plugin will get all `Note` objects, serialize it to JSON with the given serializer, + then render it on /api/note/note/ + """ queryset = Note.objects.all() serializer_class = NoteSerializer class NoteClubSerializer(serializers.HyperlinkedModelSerializer): + """ + REST API Serializer for Club's notes. + The djangorestframework plugin will analyse the model `NoteClub` and parse all fields in the API. + """ class Meta: model = NoteClub fields = ('balance', 'is_active', 'display_image', 'created_at', 'club',) class NoteClubViewSet(viewsets.ModelViewSet): + """ + REST API View set. + The djangorestframework plugin will get all `NoteClub` objects, serialize it to JSON with the given serializer, + then render it on /api/note/club/ + """ queryset = NoteClub.objects.all() serializer_class = NoteClubSerializer class NoteSpecialSerializer(serializers.HyperlinkedModelSerializer): + """ + REST API Serializer for special notes. + The djangorestframework plugin will analyse the model `NoteSpecial` and parse all fields in the API. + """ class Meta: model = NoteSpecial fields = ('balance', 'is_active', 'display_image', 'created_at', 'club', 'special_type',) class NoteSpecialViewSet(viewsets.ModelViewSet): + """ + REST API View set. + The djangorestframework plugin will get all `NoteSpecial` objects, serialize it to JSON with the given serializer, + then render it on /api/note/special/ + """ queryset = NoteSpecial.objects.all() serializer_class = NoteSpecialSerializer class NoteUserSerializer(serializers.HyperlinkedModelSerializer): + """ + REST API Serializer for User's notes. + The djangorestframework plugin will analyse the model `NoteUser` and parse all fields in the API. + """ class Meta: model = NoteUser fields = ('balance', 'is_active', 'display_image', 'created_at', 'user',) class NoteUserViewSet(viewsets.ModelViewSet): + """ + REST API View set. + The djangorestframework plugin will get all `NoteUser` objects, serialize it to JSON with the given serializer, + then render it on /api/note/user/ + """ queryset = NoteUser.objects.all() serializer_class = NoteUserSerializer class TransactionTemplateSerializer(serializers.HyperlinkedModelSerializer): + """ + REST API Serializer for Transaction templates. + The djangorestframework plugin will analyse the model `TransactionTemplate` and parse all fields in the API. + """ class Meta: model = TransactionTemplate fields = '__all__' class TransactionTemplateViewSet(viewsets.ModelViewSet): + """ + REST API View set. + The djangorestframework plugin will get all `TransactionTemplate` objects, serialize it to JSON with the given serializer, + then render it on /api/note/transaction/template/ + """ queryset = TransactionTemplate.objects.all() serializer_class = TransactionTemplateSerializer class TransactionSerializer(serializers.HyperlinkedModelSerializer): + """ + REST API Serializer for Transactions. + The djangorestframework plugin will analyse the model `Transaction` and parse all fields in the API. + """ class Meta: model = Transaction fields = '__all__' class TransactionViewSet(viewsets.ModelViewSet): + """ + REST API View set. + The djangorestframework plugin will get all `Transaction` objects, serialize it to JSON with the given serializer, + then render it on /api/note/transaction/transaction/ + """ queryset = Transaction.objects.all() serializer_class = TransactionSerializer class MembershipTransactionSerializer(serializers.HyperlinkedModelSerializer): + """ + REST API Serializer for Membership transactions. + The djangorestframework plugin will analyse the model `MembershipTransaction` and parse all fields in the API. + """ class Meta: model = MembershipTransaction fields = '__all__' class MembershipTransactionViewSet(viewsets.ModelViewSet): + """ + REST API View set. + The djangorestframework plugin will get all `MembershipTransaction` objects, serialize it to JSON with the given serializer, + then render it on /api/note/transaction/membership/ + """ queryset = MembershipTransaction.objects.all() serializer_class = MembershipTransactionSerializer