mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-07-14 17:45:46 +00:00
junior position changes and decrease api response time
This commit is contained in:
@ -245,7 +245,6 @@ class ForgotPasswordAPIView(views.APIView):
|
||||
|
||||
class SendPhoneOtp(viewsets.ModelViewSet):
|
||||
"""Send otp on phone"""
|
||||
queryset = UserPhoneOtp.objects.all()
|
||||
serializer_class = UserPhoneOtpSerializer
|
||||
def create(self, request, *args, **kwargs):
|
||||
otp = generate_otp()
|
||||
@ -262,7 +261,6 @@ class SendPhoneOtp(viewsets.ModelViewSet):
|
||||
|
||||
class UserPhoneVerification(viewsets.ModelViewSet):
|
||||
"""Send otp on phone"""
|
||||
queryset = UserPhoneOtp.objects.all()
|
||||
serializer_class = UserPhoneOtpSerializer
|
||||
def list(self, request, *args, **kwargs):
|
||||
try:
|
||||
@ -376,7 +374,6 @@ class AdminLoginViewSet(viewsets.GenericViewSet):
|
||||
class UserEmailVerification(viewsets.ModelViewSet):
|
||||
"""User Email verification"""
|
||||
serializer_class = EmailVerificationSerializer
|
||||
queryset = UserEmailOtp.objects.all()
|
||||
|
||||
def list(self, request, *args, **kwargs):
|
||||
try:
|
||||
@ -419,7 +416,6 @@ class UserEmailVerification(viewsets.ModelViewSet):
|
||||
|
||||
class ReSendEmailOtp(viewsets.ModelViewSet):
|
||||
"""Send otp on phone"""
|
||||
queryset = UserEmailOtp.objects.all()
|
||||
serializer_class = EmailVerificationSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
@ -442,7 +438,6 @@ class ReSendEmailOtp(viewsets.ModelViewSet):
|
||||
|
||||
class ProfileAPIViewSet(viewsets.ModelViewSet):
|
||||
"""Profile viewset"""
|
||||
queryset = User.objects.all()
|
||||
serializer_class = JuniorProfileSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
@ -461,7 +456,6 @@ class ProfileAPIViewSet(viewsets.ModelViewSet):
|
||||
|
||||
class UploadImageAPIViewSet(viewsets.ModelViewSet):
|
||||
"""upload task image"""
|
||||
queryset = DefaultTaskImages.objects.all()
|
||||
serializer_class = DefaultTaskImagesSerializer
|
||||
def create(self, request, *args, **kwargs):
|
||||
"""upload images"""
|
||||
@ -480,7 +474,6 @@ class UploadImageAPIViewSet(viewsets.ModelViewSet):
|
||||
|
||||
class DefaultImageAPIViewSet(viewsets.ModelViewSet):
|
||||
"""Profile viewset"""
|
||||
queryset = DefaultTaskImages.objects.all()
|
||||
serializer_class = DefaultTaskImagesDetailsSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
def list(self, request, *args, **kwargs):
|
||||
@ -511,7 +504,6 @@ class DeleteUserProfileAPIViewSet(viewsets.GenericViewSet):
|
||||
|
||||
class UserNotificationAPIViewSet(viewsets.ModelViewSet):
|
||||
"""notification viewset"""
|
||||
queryset = UserNotification.objects.all()
|
||||
serializer_class = UserNotificationSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
def list(self, request, *args, **kwargs):
|
||||
@ -523,7 +515,6 @@ class UserNotificationAPIViewSet(viewsets.ModelViewSet):
|
||||
|
||||
class UpdateUserNotificationAPIViewSet(viewsets.ModelViewSet):
|
||||
"""Update notification viewset"""
|
||||
queryset = UserNotification.objects.all()
|
||||
serializer_class = UpdateUserNotificationSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
|
@ -67,8 +67,10 @@ class UserSerializer(serializers.ModelSerializer):
|
||||
UserNotification.objects.get_or_create(user=user)
|
||||
if user_type == str(NUMBER['one']):
|
||||
# create junior profile
|
||||
Junior.objects.create(auth=user, junior_code=generate_code(JUN, user.id),
|
||||
junior = Junior.objects.create(auth=user, junior_code=generate_code(JUN, user.id),
|
||||
referral_code=generate_code(ZOD, user.id))
|
||||
position = Junior.objects.all().count()
|
||||
JuniorPoints.objects.create(junior=junior, position=position)
|
||||
if user_type == str(NUMBER['two']):
|
||||
# create guardian profile
|
||||
Guardian.objects.create(user=user, guardian_code=generate_code(GRD, user.id),
|
||||
|
@ -83,7 +83,6 @@ class SignupViewset(viewsets.ModelViewSet):
|
||||
|
||||
class UpdateGuardianProfile(viewsets.ViewSet):
|
||||
"""Update guardian profile"""
|
||||
queryset = Guardian.objects.all()
|
||||
serializer_class = CreateGuardianSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
@ -117,7 +116,6 @@ class UpdateGuardianProfile(viewsets.ViewSet):
|
||||
class AllTaskListAPIView(viewsets.ModelViewSet):
|
||||
"""Update guardian profile"""
|
||||
serializer_class = TaskDetailsSerializer
|
||||
queryset = JuniorTask.objects.all()
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
def list(self, request, *args, **kwargs):
|
||||
@ -229,7 +227,6 @@ class TopJuniorListAPIView(viewsets.ModelViewSet):
|
||||
"""Top juniors list"""
|
||||
serializer_class = TopJuniorSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
queryset = JuniorPoints.objects.all()
|
||||
|
||||
def get_serializer_context(self):
|
||||
# context list
|
||||
|
@ -2,7 +2,7 @@
|
||||
"""Third party Django app"""
|
||||
from django.contrib import admin
|
||||
"""Import Django app"""
|
||||
from .models import Junior, JuniorPoints, JuniorGuardianRelationship
|
||||
from .models import Junior, JuniorPoints, JuniorGuardianRelationship, JuniorArticlePoints
|
||||
# Register your models here.
|
||||
@admin.register(Junior)
|
||||
class JuniorAdmin(admin.ModelAdmin):
|
||||
@ -27,3 +27,7 @@ class JuniorGuardianRelationshipAdmin(admin.ModelAdmin):
|
||||
"""Junior Admin"""
|
||||
list_display = ['guardian', 'junior', 'relationship']
|
||||
|
||||
@admin.register(JuniorArticlePoints)
|
||||
class JuniorArticlePointsAdmin(admin.ModelAdmin):
|
||||
"""Junior Admin"""
|
||||
list_display = ['junior', 'article', 'question', 'submitted_answer']
|
||||
|
@ -4,7 +4,7 @@ from django.urls import path, include
|
||||
from .views import (UpdateJuniorProfile, ValidateGuardianCode, JuniorListAPIView, AddJuniorAPIView,
|
||||
InvitedJuniorAPIView, FilterJuniorAPIView, RemoveJuniorAPIView, JuniorTaskListAPIView,
|
||||
CompleteJuniorTaskAPIView, JuniorPointsListAPIView, ValidateReferralCode,
|
||||
InviteGuardianAPIView, StartTaskAPIView, ReAssignJuniorTaskAPIView)
|
||||
InviteGuardianAPIView, StartTaskAPIView, ReAssignJuniorTaskAPIView, StartArticleAPIView)
|
||||
"""Third party import"""
|
||||
from rest_framework import routers
|
||||
|
||||
@ -41,6 +41,8 @@ router.register('junior-points', JuniorPointsListAPIView, basename='junior-point
|
||||
router.register('validate-referral-code', ValidateReferralCode, basename='validate-referral-code')
|
||||
# invite guardian API"""
|
||||
router.register('invite-guardian', InviteGuardianAPIView, basename='invite-guardian')
|
||||
# start article"""
|
||||
router.register('start-article', StartArticleAPIView, basename='start-article')
|
||||
# Define url pattern"""
|
||||
urlpatterns = [
|
||||
path('api/v1/', include(router.urls)),
|
||||
|
@ -27,8 +27,8 @@ import requests
|
||||
# Import upload_image_to_alibaba
|
||||
# Import custom_response, custom_error_response
|
||||
# Import constants
|
||||
from junior.models import Junior, JuniorPoints, JuniorGuardianRelationship
|
||||
from .serializers import (CreateJuniorSerializer, JuniorDetailListSerializer, AddJuniorSerializer,\
|
||||
from junior.models import Junior, JuniorPoints, JuniorGuardianRelationship, JuniorArticlePoints
|
||||
from .serializers import (CreateJuniorSerializer, JuniorDetailListSerializer, AddJuniorSerializer,
|
||||
RemoveJuniorSerializer, CompleteTaskSerializer, JuniorPointsSerializer,
|
||||
AddGuardianSerializer, StartTaskSerializer, ReAssignTaskSerializer)
|
||||
from guardian.models import Guardian, JuniorTask
|
||||
@ -40,7 +40,7 @@ from guardian.utils import upload_image_to_alibaba
|
||||
from .utils import update_positions_based_on_points
|
||||
from notifications.utils import send_notification
|
||||
from notifications.constants import REMOVE_JUNIOR
|
||||
|
||||
from web_admin.models import Article, ArticleSurvey, SurveyOption
|
||||
""" Define APIs """
|
||||
# Define validate guardian code API,
|
||||
# update junior profile,
|
||||
@ -59,7 +59,6 @@ from notifications.constants import REMOVE_JUNIOR
|
||||
# Create your views here.
|
||||
class UpdateJuniorProfile(viewsets.ViewSet):
|
||||
"""Update junior profile"""
|
||||
queryset = Junior.objects.all()
|
||||
serializer_class = CreateJuniorSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
@ -93,7 +92,6 @@ class UpdateJuniorProfile(viewsets.ViewSet):
|
||||
|
||||
class ValidateGuardianCode(viewsets.ViewSet):
|
||||
"""Check guardian code exist or not"""
|
||||
queryset = Guardian.objects.all()
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
def list(self, request, *args, **kwargs):
|
||||
@ -115,7 +113,6 @@ class JuniorListAPIView(viewsets.ModelViewSet):
|
||||
"""Junior list of assosicated guardian"""
|
||||
|
||||
serializer_class = JuniorDetailListSerializer
|
||||
queryset = Junior.objects.all()
|
||||
permission_classes = [IsAuthenticated]
|
||||
filter_backends = (SearchFilter,)
|
||||
search_fields = ['auth__first_name', 'auth__last_name']
|
||||
@ -180,7 +177,6 @@ class InvitedJuniorAPIView(viewsets.ModelViewSet):
|
||||
"""Junior list of assosicated guardian"""
|
||||
|
||||
serializer_class = JuniorDetailListSerializer
|
||||
queryset = Junior.objects.all()
|
||||
permission_classes = [IsAuthenticated]
|
||||
pagination_class = PageNumberPagination
|
||||
http_method_names = ('get',)
|
||||
@ -210,7 +206,6 @@ class FilterJuniorAPIView(viewsets.ModelViewSet):
|
||||
serializer_class = JuniorDetailListSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
pagination_class = PageNumberPagination
|
||||
queryset = Junior.objects.all()
|
||||
http_method_names = ('get',)
|
||||
|
||||
def get_queryset(self):
|
||||
@ -268,7 +263,6 @@ class JuniorTaskListAPIView(viewsets.ModelViewSet):
|
||||
serializer_class = TaskDetailsjuniorSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
pagination_class = PageNumberPagination
|
||||
queryset = JuniorTask.objects.all()
|
||||
http_method_names = ('get',)
|
||||
|
||||
def list(self, request, *args, **kwargs):
|
||||
@ -458,3 +452,40 @@ class ReAssignJuniorTaskAPIView(views.APIView):
|
||||
return custom_error_response(ERROR_CODE['2066'], response_status=status.HTTP_400_BAD_REQUEST)
|
||||
except Exception as e:
|
||||
return custom_error_response(str(e), response_status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
class StartArticleAPIView(viewsets.ModelViewSet):
|
||||
"""Start article"""
|
||||
serializer_class = AddGuardianSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
http_method_names = ('post',)
|
||||
|
||||
def create(self, request, *args, **kwargs):
|
||||
""" junior list"""
|
||||
try:
|
||||
junior_instance = Junior.objects.filter(auth=self.request.user).last()
|
||||
article_id = request.data.get('article_id')
|
||||
article_data = Article.objects.filter(id=article_id).last()
|
||||
if article_data:
|
||||
print("article_data====>", article_data,'===>',type(article_data))
|
||||
question_query = ArticleSurvey.objects.filter(article=article_id)
|
||||
print("question_query====>",question_query,'===>',type(question_query))
|
||||
for question in question_query:
|
||||
print("question====>", question, '===>', type(question))
|
||||
answer = SurveyOption.objects.filter(survey=question)
|
||||
print("answer===>",answer,'====>',type(answer))
|
||||
for ans in answer:
|
||||
JuniorArticlePoints.objects.create(junior=junior_instance,
|
||||
article=article_data,
|
||||
question=question,
|
||||
submitted_answer=ans)
|
||||
print("CREATED CREATED")
|
||||
return custom_response(SUCCESS_CODE['3034'], response_status=status.HTTP_200_OK)
|
||||
# use AddJuniorSerializer serializer
|
||||
# serializer = AddGuardianSerializer(data=request.data, context=info)
|
||||
# if serializer.is_valid():
|
||||
# # save serializer
|
||||
# serializer.save()
|
||||
# return custom_response(SUCCESS_CODE['3034'], serializer.data, response_status=status.HTTP_200_OK)
|
||||
# return custom_error_response(serializer.error, response_status=status.HTTP_400_BAD_REQUEST)
|
||||
except Exception as e:
|
||||
return custom_error_response(str(e), response_status=status.HTTP_400_BAD_REQUEST)
|
||||
|
@ -49,7 +49,7 @@ class ArticleSurvey(models.Model):
|
||||
|
||||
def __str__(self):
|
||||
"""Return title"""
|
||||
return f'{self.id} | {self.article}'
|
||||
return f'{self.id} | {self.question}'
|
||||
|
||||
|
||||
class SurveyOption(models.Model):
|
||||
@ -64,7 +64,7 @@ class SurveyOption(models.Model):
|
||||
|
||||
def __str__(self):
|
||||
"""Return title"""
|
||||
return f'{self.id} | {self.survey}'
|
||||
return f'{self.id} | {self.option}'
|
||||
|
||||
|
||||
class DefaultArticleCardImage(models.Model):
|
||||
|
Reference in New Issue
Block a user