From 99a59162a21ebb09a57fe230044f7e3de73a4860 Mon Sep 17 00:00:00 2001 From: jain Date: Mon, 21 Aug 2023 18:12:03 +0530 Subject: [PATCH] swagger update --- account/serializers.py | 2 +- account/urls.py | 4 ++-- account/views.py | 6 +++++- guardian/urls.py | 4 +--- guardian/views.py | 2 ++ junior/views.py | 40 ++++++++++++++++++++++++++++++++++------ 6 files changed, 45 insertions(+), 13 deletions(-) diff --git a/account/serializers.py b/account/serializers.py index e946d15..abfb8a6 100644 --- a/account/serializers.py +++ b/account/serializers.py @@ -308,7 +308,7 @@ class EmailVerificationSerializer(serializers.ModelSerializer): class Meta(object): """Meta info""" model = UserEmailOtp - fields = '__all__' + fields = ('email',) diff --git a/account/urls.py b/account/urls.py index 02ac124..49d2f53 100644 --- a/account/urls.py +++ b/account/urls.py @@ -39,8 +39,8 @@ router.register('user', UserLogin, basename='user') router.register('admin', AdminLoginViewSet, basename='admin') """google login end point""" router.register('google-login', GoogleLoginViewSet, basename='admin') -router.register('send-phone-otp', SendPhoneOtp, basename='send-phone-otp') -router.register('user-phone-verification', UserPhoneVerification, basename='user-phone-verification') +# router.register('send-phone-otp', SendPhoneOtp, basename='send-phone-otp') +# router.register('user-phone-verification', UserPhoneVerification, basename='user-phone-verification') """email verification end point""" router.register('user-email-verification', UserEmailVerification, basename='user-email-verification') """Resend email otp end point""" diff --git a/account/views.py b/account/views.py index ba99f95..d26703d 100644 --- a/account/views.py +++ b/account/views.py @@ -467,8 +467,11 @@ class ReSendEmailOtp(viewsets.ModelViewSet): """Send otp on phone""" serializer_class = EmailVerificationSerializer permission_classes = [IsAuthenticated] - + http_method_names = ('post',) def create(self, request, *args, **kwargs): + """Param + {"email":"ashok@yopmail.com"} + """ otp = generate_otp() if User.objects.filter(email=request.data['email']): expiry = timezone.now() + timezone.timedelta(days=1) @@ -489,6 +492,7 @@ class ProfileAPIViewSet(viewsets.ModelViewSet): """Profile viewset""" serializer_class = JuniorProfileSerializer permission_classes = [IsAuthenticated] + http_method_names = ('get',) def list(self, request, *args, **kwargs): """profile view""" diff --git a/guardian/urls.py b/guardian/urls.py index e95ea8e..4a1d006 100644 --- a/guardian/urls.py +++ b/guardian/urls.py @@ -1,7 +1,7 @@ """ Urls files""" """Django import""" from django.urls import path, include -from .views import (SignupViewset, UpdateGuardianProfile, AllTaskListAPIView, CreateTaskAPIView, TaskListAPIView, +from .views import (SignupViewset, UpdateGuardianProfile, CreateTaskAPIView, TaskListAPIView, SearchTaskListAPIView, TopJuniorListAPIView, ApproveJuniorAPIView, ApproveTaskAPIView, GuardianListAPIView) """Third party import""" @@ -25,8 +25,6 @@ router.register('sign-up', SignupViewset, basename='sign-up') router.register('create-guardian-profile', UpdateGuardianProfile, basename='update-guardian-profile') # Create Task API""" router.register('create-task', CreateTaskAPIView, basename='create-task') -# All Task list API""" -router.register('all-task-list', AllTaskListAPIView, basename='all-task-list') # Task list bases on the status API""" router.register('task-list', TaskListAPIView, basename='task-list') # Leaderboard API""" diff --git a/guardian/views.py b/guardian/views.py index 0ec7217..042150c 100644 --- a/guardian/views.py +++ b/guardian/views.py @@ -57,6 +57,7 @@ class SignupViewset(viewsets.ModelViewSet): """Signup view set""" queryset = User.objects.all() serializer_class = UserSerializer + http_method_names = ('post',) def create(self, request, *args, **kwargs): """Create user profile""" device_id = request.META.get('HTTP_DEVICE_ID') @@ -209,6 +210,7 @@ class SearchTaskListAPIView(viewsets.ModelViewSet): serializer_class = TaskDetailsSerializer permission_classes = [IsAuthenticated] pagination_class = PageNumberPagination + http_method_names = ('get',) def get_queryset(self): """Get the queryset for the view""" diff --git a/junior/views.py b/junior/views.py index 5eb15bd..1ed3972 100644 --- a/junior/views.py +++ b/junior/views.py @@ -13,7 +13,9 @@ import requests from rest_framework.viewsets import GenericViewSet, mixins """Django app import""" - +from drf_yasg.utils import swagger_auto_schema +from drf_yasg import openapi +from drf_yasg.views import get_schema_view # Import guardian's model, # Import junior's model, # Import account's model, @@ -99,7 +101,7 @@ class UpdateJuniorProfile(viewsets.ModelViewSet): except Exception as e: return custom_error_response(str(e), response_status=status.HTTP_400_BAD_REQUEST) -class ValidateGuardianCode(viewsets.ViewSet): +class ValidateGuardianCode(viewsets.ModelViewSet): """Check guardian code exist or not""" permission_classes = [IsAuthenticated] @@ -156,7 +158,14 @@ class AddJuniorAPIView(viewsets.ModelViewSet): http_method_names = ('post',) def create(self, request, *args, **kwargs): - """ junior list""" + """ add junior + { "gender":"1", + "first_name":"abc", + "last_name":"xyz", + "dob":"2023-12-12", + "relationship":"2", + "email":"abc@yopmail.com" + }""" try: info_data = {'user': request.user, 'relationship': str(request.data['relationship']), 'email': request.data['email'], 'first_name': request.data['first_name'], @@ -235,12 +244,25 @@ class InvitedJuniorAPIView(viewsets.ModelViewSet): class FilterJuniorAPIView(viewsets.ModelViewSet): - """Update guardian profile""" + """filter junior profile""" serializer_class = JuniorDetailListSerializer permission_classes = [IsAuthenticated] pagination_class = PageNumberPagination http_method_names = ('get',) + @swagger_auto_schema( + manual_parameters=[ + # Example of a query parameter + openapi.Parameter( + 'title', # Query parameter name + openapi.IN_QUERY, # Parameter location + description='title of the name', + type=openapi.TYPE_STRING, # Parameter type + ), + # Add more parameters as needed + ] + ) + def get_queryset(self): """Get the queryset for the view""" title = self.request.GET.get('title') @@ -386,7 +408,7 @@ class JuniorPointsListAPIView(viewsets.ModelViewSet): return custom_error_response(str(e), response_status=status.HTTP_400_BAD_REQUEST) -class ValidateReferralCode(viewsets.ViewSet): +class ValidateReferralCode(viewsets.ModelViewSet): """Check guardian code exist or not""" permission_classes = [IsAuthenticated] http_method_names = ('get',) @@ -421,7 +443,13 @@ class InviteGuardianAPIView(viewsets.ModelViewSet): permission_classes = [IsAuthenticated] http_method_names = ('post',) def create(self, request, *args, **kwargs): - """ junior list""" + """ add guardian + { + "first_name":"abc", + "last_name":"xyz", + "email":"abc@yopmail.com", + "relationship":2 + }""" try: if request.data['email'] == '': return custom_error_response(ERROR_CODE['2062'], response_status=status.HTTP_400_BAD_REQUEST)