mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-07-16 02:16:16 +00:00
article card api, check answer api
This commit is contained in:
@ -112,7 +112,7 @@ MAX_ARTICLE_CARD = 6
|
|||||||
MIN_ARTICLE_SURVEY = 5
|
MIN_ARTICLE_SURVEY = 5
|
||||||
MAX_ARTICLE_SURVEY = 10
|
MAX_ARTICLE_SURVEY = 10
|
||||||
|
|
||||||
# real time url
|
# already register
|
||||||
time_url = "http://worldtimeapi.org/api/timezone/Asia/Riyadh"
|
Already_register_user = "duplicate key value violates unique constraint"
|
||||||
|
|
||||||
ARTICLE_CARD_IMAGE_FOLDER = 'article-card-images'
|
ARTICLE_CARD_IMAGE_FOLDER = 'article-card-images'
|
||||||
|
@ -22,7 +22,7 @@ from account.models import UserProfile, UserEmailOtp, UserNotification
|
|||||||
from account.utils import generate_code
|
from account.utils import generate_code
|
||||||
from junior.serializers import JuniorDetailSerializer
|
from junior.serializers import JuniorDetailSerializer
|
||||||
from base.messages import ERROR_CODE, SUCCESS_CODE
|
from base.messages import ERROR_CODE, SUCCESS_CODE
|
||||||
from base.constants import NUMBER, JUN, ZOD, GRD
|
from base.constants import NUMBER, JUN, ZOD, GRD, Already_register_user
|
||||||
from junior.models import Junior, JuniorPoints, JuniorGuardianRelationship
|
from junior.models import Junior, JuniorPoints, JuniorGuardianRelationship
|
||||||
from .utils import real_time, convert_timedelta_into_datetime, update_referral_points
|
from .utils import real_time, convert_timedelta_into_datetime, update_referral_points
|
||||||
# notification's constant
|
# notification's constant
|
||||||
@ -83,7 +83,7 @@ class UserSerializer(serializers.ModelSerializer):
|
|||||||
otp_verified = False
|
otp_verified = False
|
||||||
if otp and otp.is_verified:
|
if otp and otp.is_verified:
|
||||||
otp_verified = True
|
otp_verified = True
|
||||||
raise serializers.ValidationError({"details":ERROR_CODE['2021'], "otp_verified":bool(otp_verified),
|
raise serializers.ValidationError({"details": ERROR_CODE['2021'], "otp_verified":bool(otp_verified),
|
||||||
"code": 400, "status":"failed",
|
"code": 400, "status":"failed",
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ import tempfile
|
|||||||
# Import date time module's function
|
# Import date time module's function
|
||||||
from datetime import datetime, time
|
from datetime import datetime, time
|
||||||
# import Number constant
|
# import Number constant
|
||||||
from base.constants import NUMBER, time_url
|
from base.constants import NUMBER
|
||||||
# Import Junior's model
|
# Import Junior's model
|
||||||
from junior.models import Junior, JuniorPoints
|
from junior.models import Junior, JuniorPoints
|
||||||
# Import guardian's model
|
# Import guardian's model
|
||||||
|
@ -10,7 +10,6 @@ from rest_framework.permissions import IsAuthenticated
|
|||||||
from rest_framework import viewsets, status
|
from rest_framework import viewsets, status
|
||||||
from rest_framework.pagination import PageNumberPagination
|
from rest_framework.pagination import PageNumberPagination
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.utils import timezone
|
|
||||||
|
|
||||||
# Import guardian's model,
|
# Import guardian's model,
|
||||||
# Import junior's model,
|
# Import junior's model,
|
||||||
@ -57,29 +56,26 @@ 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"""
|
||||||
try:
|
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():
|
user = serializer.save()
|
||||||
user = serializer.save()
|
"""Generate otp"""
|
||||||
"""Generate otp"""
|
otp = generate_otp()
|
||||||
otp = generate_otp()
|
# expire otp after 1 day
|
||||||
# expire otp after 1 day
|
expiry = OTP_EXPIRY
|
||||||
expiry = OTP_EXPIRY
|
# create user email otp object
|
||||||
# create user email otp object
|
UserEmailOtp.objects.create(email=request.data['email'], otp=otp,
|
||||||
UserEmailOtp.objects.create(email=request.data['email'], otp=otp,
|
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)
|
# send push notification for registration
|
||||||
# send push notification for registration
|
send_notification.delay(REGISTRATION, None, user.id, {})
|
||||||
send_notification.delay(REGISTRATION, None, user.id, {})
|
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)
|
|
||||||
except Exception as e:
|
|
||||||
return custom_error_response(str(e), response_status=status.HTTP_400_BAD_REQUEST)
|
|
||||||
|
|
||||||
class UpdateGuardianProfile(viewsets.ViewSet):
|
class UpdateGuardianProfile(viewsets.ViewSet):
|
||||||
"""Update guardian profile"""
|
"""Update guardian profile"""
|
||||||
|
Reference in New Issue
Block a user