Merge branch 'dev' into ZBKADM-73-test-cases

This commit is contained in:
abutalib-kiwi
2023-09-11 13:00:04 +05:30
3 changed files with 39 additions and 12 deletions

View File

@ -103,9 +103,9 @@ ERROR_CODE = {
"2074": "You can not complete this task because you does not exist in the system", "2074": "You can not complete this task because you does not exist in the system",
# deactivate account # deactivate account
"2075": "Your account is deactivated. Please contact with admin", "2075": "Your account is deactivated. Please contact with admin",
"2076": "This junior already associate with you", "2076": "This junior already associated with you",
"2077": "You can not add guardian", "2077": "You can not add guardian",
"2078": "This junior is not associate with you", "2078": "This junior is not associated with you",
# force update # force update
"2079": "Please update your app version for enjoying uninterrupted services", "2079": "Please update your app version for enjoying uninterrupted services",
"2080": "Can not add App version", "2080": "Can not add App version",

View File

@ -6,7 +6,7 @@ from .views import (UpdateJuniorProfile, ValidateGuardianCode, JuniorListAPIView
CompleteJuniorTaskAPIView, JuniorPointsListAPIView, ValidateReferralCode, CompleteJuniorTaskAPIView, JuniorPointsListAPIView, ValidateReferralCode,
InviteGuardianAPIView, StartTaskAPIView, ReAssignJuniorTaskAPIView, StartArticleAPIView, InviteGuardianAPIView, StartTaskAPIView, ReAssignJuniorTaskAPIView, StartArticleAPIView,
StartAssessmentAPIView, CheckAnswerAPIView, CompleteArticleAPIView, ReadArticleCardAPIView, StartAssessmentAPIView, CheckAnswerAPIView, CompleteArticleAPIView, ReadArticleCardAPIView,
CreateArticleCardAPIView, RemoveGuardianCodeAPIView, FAQViewSet) CreateArticleCardAPIView, RemoveGuardianCodeAPIView, FAQViewSet, CheckJuniorApiViewSet)
"""Third party import""" """Third party import"""
from rest_framework import routers from rest_framework import routers
@ -29,6 +29,8 @@ router.register('create-junior-profile', UpdateJuniorProfile, basename='profile-
router.register('validate-guardian-code', ValidateGuardianCode, basename='validate-guardian-code') router.register('validate-guardian-code', ValidateGuardianCode, basename='validate-guardian-code')
# junior list API""" # junior list API"""
router.register('junior-list', JuniorListAPIView, basename='junior-list') router.register('junior-list', JuniorListAPIView, basename='junior-list')
router.register('check-junior', CheckJuniorApiViewSet, basename='check-junior')
# Add junior list API""" # Add junior list API"""
router.register('add-junior', AddJuniorAPIView, basename='add-junior') router.register('add-junior', AddJuniorAPIView, basename='add-junior')
# Invited junior list API""" # Invited junior list API"""

View File

@ -164,6 +164,29 @@ class JuniorListAPIView(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 CheckJuniorApiViewSet(viewsets.GenericViewSet):
"""
api to check whether given user exist or not
"""
serializer_class = None
permission_classes = [IsAuthenticated]
def get_queryset(self):
junior = Junior.objects.filter(auth__email=self.request.data.get('email')).first()
return junior
def create(self, request, *args, **kwargs):
"""
:param request:
:return:
"""
junior = self.get_queryset()
data = {
'junior_exist': True if junior else False
}
return custom_response(None, data)
class AddJuniorAPIView(viewsets.ModelViewSet): class AddJuniorAPIView(viewsets.ModelViewSet):
"""Add Junior by guardian""" """Add Junior by guardian"""
serializer_class = AddJuniorSerializer serializer_class = AddJuniorSerializer
@ -180,6 +203,16 @@ class AddJuniorAPIView(viewsets.ModelViewSet):
"email":"abc@yopmail.com" "email":"abc@yopmail.com"
}""" }"""
try: try:
if user := User.objects.filter(username=request.data['email']).first():
data = self.associate_guardian(user)
if data == none:
return custom_error_response(ERROR_CODE['2077'], response_status=status.HTTP_400_BAD_REQUEST)
elif not data:
return custom_error_response(ERROR_CODE['2076'], response_status=status.HTTP_400_BAD_REQUEST)
elif data == "Max":
return custom_error_response(ERROR_CODE['2081'], response_status=status.HTTP_400_BAD_REQUEST)
return custom_response(SUCCESS_CODE['3021'], response_status=status.HTTP_200_OK)
info_data = {'user': request.user, 'relationship': str(request.data['relationship']), info_data = {'user': request.user, 'relationship': str(request.data['relationship']),
'email': request.data['email'], 'first_name': request.data['first_name'], 'email': request.data['email'], 'first_name': request.data['first_name'],
'last_name': request.data['last_name'], 'image':None} 'last_name': request.data['last_name'], 'image':None}
@ -193,15 +226,7 @@ class AddJuniorAPIView(viewsets.ModelViewSet):
# upload image on ali baba # upload image on ali baba
image_url = upload_image_to_alibaba(profile_image, filename) image_url = upload_image_to_alibaba(profile_image, filename)
info_data.update({"image": image_url}) info_data.update({"image": image_url})
if user := User.objects.filter(username=request.data['email']).first():
data = self.associate_guardian(user)
if data == none:
return custom_error_response(ERROR_CODE['2077'], response_status=status.HTTP_400_BAD_REQUEST)
elif not data:
return custom_error_response(ERROR_CODE['2076'], response_status=status.HTTP_400_BAD_REQUEST)
elif data == "Max":
return custom_error_response(ERROR_CODE['2081'], response_status=status.HTTP_400_BAD_REQUEST)
return custom_response(SUCCESS_CODE['3021'], response_status=status.HTTP_200_OK)
# use AddJuniorSerializer serializer # use AddJuniorSerializer serializer
serializer = AddJuniorSerializer(data=request.data, context=info_data) serializer = AddJuniorSerializer(data=request.data, context=info_data)
if serializer.is_valid(): if serializer.is_valid():