first commit
This commit is contained in:
commit
3e4574dcdd
163 files changed
+3559
No files matched your search
@@ -0,0 +1,81 @@
|
||||
from datetime import datetime, timedelta
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.shortcuts import render
|
||||
from rest_framework.views import APIView
|
||||
from rest_framework import serializers
|
||||
from apps.user_auth.auth_service import SMSAuth
|
||||
from rest_framework.response import Response
|
||||
from apps.user_auth.models import SmsOtp as SmsOtpModel
|
||||
from apps.user_auth.services import send_otp_code, sms_auth, login_by_user_pass
|
||||
from apps.user_auth.token_service import get_refresh_token
|
||||
from rest_framework import status
|
||||
|
||||
from rest_framework import exceptions
|
||||
CUserModel = get_user_model()
|
||||
|
||||
|
||||
class MojriByMobileApiView(APIView):
|
||||
|
||||
class InputSerializer(serializers.Serializer):
|
||||
mobile = serializers.IntegerField()
|
||||
|
||||
def post(self, request):
|
||||
|
||||
serializer = self.InputSerializer(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
|
||||
user_mobile = serializer.validated_data.get('mobile', None)
|
||||
|
||||
send_otp_code(user_mobile=user_mobile)
|
||||
|
||||
return Response({'status': 'otp code send'}, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
class MojriMobileVerificationApiView(APIView):
|
||||
|
||||
class InputSerializer(serializers.Serializer):
|
||||
mobile = serializers.IntegerField()
|
||||
otp_code = serializers.IntegerField()
|
||||
|
||||
def post(self, request):
|
||||
|
||||
serializer = self.InputSerializer(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
|
||||
token = sms_auth(**serializer.validated_data)
|
||||
|
||||
return Response(token)
|
||||
|
||||
|
||||
class LoginAdmin(APIView):
|
||||
|
||||
class InputSerializers(serializers.Serializer):
|
||||
username = serializers.CharField(required=True)
|
||||
password = serializers.CharField(required=True)
|
||||
|
||||
def post(self, request):
|
||||
serializer = self.InputSerializers(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
|
||||
token = login_by_user_pass(**serializer.validated_data)
|
||||
|
||||
return Response(token, status=status.HTTP_200_OK)
|
||||
|
||||
class CustomRefreshToken(APIView):
|
||||
|
||||
class InputSerializer(serializers.Serializer):
|
||||
refresh = serializers.CharField()
|
||||
|
||||
def post(self, request):
|
||||
|
||||
serializer = self.InputSerializer(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
|
||||
ref_token = serializer.validated_data.get('refresh')
|
||||
|
||||
token = get_refresh_token(ref_token=ref_token)
|
||||
|
||||
return Response(token)
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user