swagger fixes

This commit is contained in:
jain
2023-08-21 15:11:43 +05:30
parent d202774df1
commit 1c3d4731c1
4 changed files with 49 additions and 13 deletions

View File

@ -518,7 +518,13 @@ class DefaultImageAPIViewSet(viewsets.ModelViewSet):
class DeleteUserProfileAPIViewSet(viewsets.GenericViewSet): class DeleteUserProfileAPIViewSet(viewsets.GenericViewSet):
""" Delete user API view set """ """ Delete user API view set
{"user_type":1,
"signup_method":"1",
"password":"Demo@123"}
signup_method 1 for manual
2 for google login
3 for apple login"""
@action(detail=False, methods=['POST'], url_path='user-account',serializer_class=UserDeleteSerializer, @action(detail=False, methods=['POST'], url_path='user-account',serializer_class=UserDeleteSerializer,
permission_classes=[IsAuthenticated]) permission_classes=[IsAuthenticated])

View File

@ -32,7 +32,7 @@ from .serializers import (UserSerializer, CreateGuardianSerializer, TaskSerializ
GuardianDetailListSerializer) GuardianDetailListSerializer)
from .models import Guardian, JuniorTask from .models import Guardian, JuniorTask
from junior.models import Junior, JuniorPoints, JuniorGuardianRelationship from junior.models import Junior, JuniorPoints, JuniorGuardianRelationship
from account.models import UserEmailOtp, UserNotification from account.models import UserEmailOtp, UserNotification, UserDeviceDetails
from .tasks import generate_otp from .tasks import generate_otp
from account.utils import custom_response, custom_error_response, OTP_EXPIRY, send_otp_email from account.utils import custom_response, custom_error_response, OTP_EXPIRY, send_otp_email
from base.messages import ERROR_CODE, SUCCESS_CODE from base.messages import ERROR_CODE, SUCCESS_CODE
@ -59,6 +59,7 @@ class SignupViewset(viewsets.ModelViewSet):
serializer_class = UserSerializer serializer_class = UserSerializer
def create(self, request, *args, **kwargs): def create(self, request, *args, **kwargs):
"""Create user profile""" """Create user profile"""
device_id = request.META.get('HTTP_DEVICE_ID')
if request.data['user_type'] in [str(NUMBER['one']), str(NUMBER['two'])]: if request.data['user_type'] in [str(NUMBER['one']), str(NUMBER['two'])]:
serializer = UserSerializer(context=request.data['user_type'], data=request.data) serializer = UserSerializer(context=request.data['user_type'], data=request.data)
if serializer.is_valid(): if serializer.is_valid():
@ -72,16 +73,21 @@ class SignupViewset(viewsets.ModelViewSet):
user_type=str(request.data['user_type']), expired_at=expiry) user_type=str(request.data['user_type']), expired_at=expiry)
"""Send email to the register user""" """Send email to the register user"""
send_otp_email(request.data['email'], otp) send_otp_email(request.data['email'], otp)
device_details, created = UserDeviceDetails.objects.get_or_create(user=user)
if device_details:
device_details.device_id = device_id
device_details.save()
return custom_response(SUCCESS_CODE['3001'], return custom_response(SUCCESS_CODE['3001'],
response_status=status.HTTP_200_OK) response_status=status.HTTP_200_OK)
return custom_error_response(serializer.errors, response_status=status.HTTP_400_BAD_REQUEST) return custom_error_response(serializer.errors, response_status=status.HTTP_400_BAD_REQUEST)
else: else:
return custom_error_response(ERROR_CODE['2028'], response_status=status.HTTP_400_BAD_REQUEST) return custom_error_response(ERROR_CODE['2028'], response_status=status.HTTP_400_BAD_REQUEST)
class UpdateGuardianProfile(viewsets.ViewSet): class UpdateGuardianProfile(viewsets.ModelViewSet):
"""Update guardian profile""" """Update guardian profile"""
serializer_class = CreateGuardianSerializer serializer_class = CreateGuardianSerializer
permission_classes = [IsAuthenticated] permission_classes = [IsAuthenticated]
http_method_names = ('post',)
def create(self, request, *args, **kwargs): def create(self, request, *args, **kwargs):
"""Create guardian profile""" """Create guardian profile"""
@ -161,6 +167,9 @@ class CreateTaskAPIView(viewsets.ModelViewSet):
http_method_names = ('post', ) http_method_names = ('post', )
def create(self, request, *args, **kwargs): def create(self, request, *args, **kwargs):
"""
image should be in form data
"""
try: try:
image = request.data['default_image'] image = request.data['default_image']
junior = request.data['junior'] junior = request.data['junior']
@ -252,14 +261,17 @@ class TopJuniorListAPIView(viewsets.ModelViewSet):
return custom_error_response(str(e), response_status=status.HTTP_400_BAD_REQUEST) return custom_error_response(str(e), response_status=status.HTTP_400_BAD_REQUEST)
class ApproveJuniorAPIView(viewsets.ViewSet): class ApproveJuniorAPIView(viewsets.ModelViewSet):
"""approve junior by guardian""" """approve junior by guardian"""
serializer_class = ApproveJuniorSerializer serializer_class = ApproveJuniorSerializer
permission_classes = [IsAuthenticated] permission_classes = [IsAuthenticated]
http_method_names = ('post',)
def create(self, request, *args, **kwargs): def create(self, request, *args, **kwargs):
""" junior list""" """ Use below param
{"junior_id":"75",
"action":"1"}
"""
try: try:
guardian = Guardian.objects.filter(user__email=self.request.user).last() guardian = Guardian.objects.filter(user__email=self.request.user).last()
# fetch junior query # fetch junior query
@ -285,13 +297,19 @@ class ApproveJuniorAPIView(viewsets.ViewSet):
return custom_error_response(str(e), response_status=status.HTTP_400_BAD_REQUEST) return custom_error_response(str(e), response_status=status.HTTP_400_BAD_REQUEST)
class ApproveTaskAPIView(viewsets.ViewSet): class ApproveTaskAPIView(viewsets.ModelViewSet):
"""approve junior by guardian""" """approve junior by guardian"""
serializer_class = ApproveTaskSerializer serializer_class = ApproveTaskSerializer
permission_classes = [IsAuthenticated] permission_classes = [IsAuthenticated]
http_method_names = ('post',)
def create(self, request, *args, **kwargs): def create(self, request, *args, **kwargs):
""" junior list""" """ Params
{"junior_id":"82",
"task_id":"43",
"action":"1"}
action 1 for approve
2 for reject
"""
# action 1 is use for approve and 2 for reject # action 1 is use for approve and 2 for reject
try: try:
guardian = Guardian.objects.filter(user__email=self.request.user).last() guardian = Guardian.objects.filter(user__email=self.request.user).last()

View File

@ -24,7 +24,7 @@ from guardian.utils import real_time, update_referral_points, convert_timedelta_
from notifications.utils import send_notification, send_notification_to_junior, send_notification_to_guardian from notifications.utils import send_notification, send_notification_to_junior, send_notification_to_guardian
from notifications.constants import (INVITED_GUARDIAN, APPROVED_JUNIOR, SKIPPED_PROFILE_SETUP, TASK_ACTION, from notifications.constants import (INVITED_GUARDIAN, APPROVED_JUNIOR, SKIPPED_PROFILE_SETUP, TASK_ACTION,
TASK_SUBMITTED) TASK_SUBMITTED)
from web_admin.models import ArticleCard
class ListCharField(serializers.ListField): class ListCharField(serializers.ListField):
"""Serializer for Array field""" """Serializer for Array field"""
@ -518,3 +518,11 @@ class FAQSerializer(serializers.ModelSerializer):
model = FAQ model = FAQ
fields = ('id', 'question', 'description') fields = ('id', 'question', 'description')
class CreateArticleCardSerializer(serializers.ModelSerializer):
# Article card Serializer
class Meta(object):
# meta info
model = ArticleCard
fields = ('id', 'article')

View File

@ -36,7 +36,7 @@ from junior.models import (Junior, JuniorPoints, JuniorGuardianRelationship, Jun
from .serializers import (CreateJuniorSerializer, JuniorDetailListSerializer, AddJuniorSerializer, from .serializers import (CreateJuniorSerializer, JuniorDetailListSerializer, AddJuniorSerializer,
RemoveJuniorSerializer, CompleteTaskSerializer, JuniorPointsSerializer, RemoveJuniorSerializer, CompleteTaskSerializer, JuniorPointsSerializer,
AddGuardianSerializer, StartTaskSerializer, ReAssignTaskSerializer, AddGuardianSerializer, StartTaskSerializer, ReAssignTaskSerializer,
RemoveGuardianCodeSerializer, FAQSerializer) RemoveGuardianCodeSerializer, FAQSerializer, CreateArticleCardSerializer)
from guardian.models import Guardian, JuniorTask from guardian.models import Guardian, JuniorTask
from guardian.serializers import TaskDetailsSerializer, TaskDetailsjuniorSerializer from guardian.serializers import TaskDetailsSerializer, TaskDetailsjuniorSerializer
from base.messages import ERROR_CODE, SUCCESS_CODE from base.messages import ERROR_CODE, SUCCESS_CODE
@ -65,10 +65,11 @@ from web_admin.serializers.article_serializer import (ArticleSerializer, Article
# Start task # Start task
# by junior API # by junior API
# Create your views here. # Create your views here.
class UpdateJuniorProfile(viewsets.ViewSet): class UpdateJuniorProfile(viewsets.ModelViewSet):
"""Update junior profile""" """Update junior profile"""
serializer_class = CreateJuniorSerializer serializer_class = CreateJuniorSerializer
permission_classes = [IsAuthenticated] permission_classes = [IsAuthenticated]
http_method_names = ('post',)
def create(self, request, *args, **kwargs): def create(self, request, *args, **kwargs):
"""Use CreateJuniorSerializer""" """Use CreateJuniorSerializer"""
@ -622,11 +623,14 @@ class ReadArticleCardAPIView(views.APIView):
class CreateArticleCardAPIView(viewsets.ModelViewSet): class CreateArticleCardAPIView(viewsets.ModelViewSet):
"""Start article""" """Start article"""
serializer_class = CreateArticleCardSerializer
permission_classes = [IsAuthenticated] permission_classes = [IsAuthenticated]
http_method_names = ('post',) http_method_names = ('post',)
def create(self, request, *args, **kwargs): def create(self, request, *args, **kwargs):
""" junior list""" """ create article card
Params
{"article_id":1}"""
try: try:
junior_instance = Junior.objects.filter(auth=self.request.user).last() junior_instance = Junior.objects.filter(auth=self.request.user).last()
article_id = request.data.get('article_id') article_id = request.data.get('article_id')