class LoginView(APIView):
# permission_classes = (AllowAny,)
def post(self, request, format=None):
data = request.data
email = data.get('email',None)
password = data.get('password',None)
phone_number = data.get('phone_number')
if email is not None:
if '@' in email:
try:
user_obj = User.objects.filter(email__iexact = email)
if user_obj.exists() and user_obj.first().check_password(password):
# user = UserLoginSerializer(user_obj)
user = authenticate(email = email, password = password)
login(request, user)
return Response({"details":"login successfully"},status = status.HTTP_200_OK)
return Response({"details":"Please signup first"},status = status.HTTP_404_NOT_FOUND)
except User.DoesNotExist:
return Response(status = status.HTTP_404_NOT_FOUND,deatils = "user not found")
elif phone_number is not None:
try:
user_obj = User.objects.filter(phone_number__iexact = phone_number)
if user_obj.exists() and user_obj.first().check_password(password):
email = user_obj[0].email
user = authenticate(email = email, password = password)
login(request,user)
return Response({"details":"login successfully"},status = status.HTTP_200_OK)
except User.DoesNotExist:
return Response({"deatils": "user not found"},status = status.HTTP_404_NOT_FOUND)