def post(self, request, *args, **kwargs): if not request.data.get("password"): return Response(responsedata(False, "Password is required"), status=status.HTTP_400_BAD_REQUEST) if not User.objects.filter(email=request.data.get('email')).exists(): return Response(responsedata(False, "No User found"), status=status.HTTP_404_NOT_FOUND) if not User.objects.get( email=request.data.get('email')).check_password( request.data.get("password")): return Response(responsedata(False, "Incorrect Password"), status=status.HTTP_400_BAD_REQUEST) if request.data.get('email'): user = User.objects.get(email=request.data.get('email')) request.data['uuid'] = user.uuid user = authenticate(email=request.data.get('email'), password=request.data.get('password')) login(request, user) serializer = TokenObtainPairSerializer(data=request.data) if serializer.is_valid(raise_exception=True): data = serializer.validate(request.data) data['user'] = User.objects.filter( uuid=request.data.get('uuid')).values() return Response(responsedata(True, "Sign in Successful", data), status=status.HTTP_200_OK) return Response(responsedata(False, "Something went wrong"), status=status.HTTP_400_BAD_REQUEST)
def user_login_view(request, form): email = form.cleaned_data['email'] password = form.cleaned_data['password'] user_obj = User.objects.get(email=email) if user_obj.check_password(password): serializer = TokenObtainPairSerializer(data=form.cleaned_data) token = serializer.validate({'email': email, 'password': password}) user_obj.last_login = datetime.now() user_obj.save() serializer = AuthUserSerializer(instance=user_obj, many=False) data = {'user': serializer.data, 'token': token['access']} return Response(data, status=status.HTTP_400_BAD_REQUEST) else: return Response({"data": "Password is not Correct"}, status=status.HTTP_400_BAD_REQUEST)
def post(self, request, *args, **kwargs): try: info = list( User.objects.filter(email=request.data.get("email")).values( 'uuid', 'email', 'username')) info = info[0] except: return Response(responsedata(False, "No User found"), status=status.HTTP_404_NOT_FOUND) if not request.data.get('email'): return Response(responsedata(False, "Email Id is required"), status=status.HTTP_405_METHOD_NOT_ALLOWED) if not request.data.get("password"): return Response(responsedata(False, "Password is required"), status=status.HTTP_405_METHOD_NOT_ALLOWED) if not User.objects.filter(email=request.data.get("email")).exists(): return Response(responsedata(False, "No user found with this Email Id"), status=status.HTTP_404_NOT_FOUND) if User.objects.filter(email=request.data.get("email")).exists(): user = list( User.objects.filter( email=request.data.get("email")).values())[0] if not User.objects.get( email=request.data.get("email")).check_password( request.data.get("password")): print( User.objects.get( email=request.data.get("email")).get_password()) return Response(responsedata(False, "Incorrect Password"), status=status.HTTP_404_NOT_FOUND) serializer = TokenObtainPairSerializer(data=request.data) if serializer.is_valid(raise_exception=True): data = serializer.validate(request.data) data.update({"Access-Control-Expose-Headers": "access"}) data.update(info) if serializer.User.is_active: return Response(responsedata(True, "Login Successfull", data), status=200) else: return Response(responsedata(False, "Please Validate Your Email Id"), status=400)
def post(self, request, *args, **kwargs): if request.data: request.POST._mutable = True data = request.data data['Pass'] = data.get('password') if User.objects.filter(email=data.get('email')).values().exists(): Response(responsedata(False, "User already present"), status=status.HTTP_409_CONFLICT) data['is_active'] = True serializer = UserSerializer(data=data) if serializer.is_valid(raise_exception=True): serializer.save() tokenserializer = TokenObtainPairSerializer( data={ "email": request.data.get("email"), "password": request.data.get("password") }) if tokenserializer.is_valid(raise_exception=True): data = tokenserializer.validate({ "email": request.data.get("email"), "password": request.data.get("password") }) tempid = serializer.data.get("uuid") else: return Response(responsedata(False, "Can't insert data"), status=400) respdata = { 'uuid': tempid, 'data': data, 'username': serializer.data['username'], 'email': serializer.data['email'], } return Response(responsedata(True, "Data Inserted", respdata), status=200) else: return Response(responsedata(False, "No data provided"), status=412)
def Signin(request): try: user = authenticate(username=request.data.get("email"), password=request.data.get("password")) if user is not None: tokenObtainPairObj = TokenObtainPairSerializer() data_access_refresh_token_dict = tokenObtainPairObj.validate( request.data) data_access_refresh_token_dict.update( {"user": serializers.UserProfileSerializer(user).data}) return Response(data_access_refresh_token_dict) else: return Response({"error": "Authentication Failure"}, status=status.HTTP_401_UNAUTHORIZED) except Exception as e: logger.exception("Token exception : %s", e) return Response( { "error": "Internal Server Error. We are extreamly sorry for the inconvenience. We will be back soon." }, status=status.HTTP_500_INTERNAL_SERVER_ERROR)