def search(self, request): try: user = self.request.user if user: try: order = Order.objects.filter(id=request.data['id']) except Exception: data = getNegativeResponse("order is not valid") return Response(data) serializer = OrderSerializer(order , many= True) data = getPositiveResponse("order", serializer.data) return Response(data) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def search(self, request): try: user = self.request.user if user: try: category = Category.objects.filter( name__startswith=request.data['name']) except Exception: data = getNegativeResponse("invalid category") return Response(data) serializer = CategorySerializer(category, many=True) data = getPositiveResponse("category", serializer.data) return Response(data) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def search(self, request): try: user = self.request.user if user: try: product = Product.objects.filter( name__startswith=request.data['name']) except Exception: data = getNegativeResponse("product is not valid") return Response(data) serializer = ProductListSerializer(product, many=True) data = getPositiveResponse("product", serializer.data) return Response(data) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def logout(self, request): token = request.META['HTTP_AUTHORIZATION'][4:] black_list_token = BlackList(token=token) black_list_token.save() response = getNegativeResponse( "Logout Successfully") return Response(response)
def signin(self, request): try: login_ser = LoginSerializer(data=request.data) if login_ser.is_valid() == False: response = getNegativeResponse( "enter email and password") return Response(response) login_data = login_ser.validated_data login_data['email'] = login_data['email'].lower() try: user = User.objects.get(email=login_data['email']) except: return Response("invalid email") if not user.check_password(login_data['password']): return Response("invalid password") jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER payload = jwt_payload_handler(user) token = jwt_encode_handler(payload) print(token) user.last_login = datetime.datetime.now() user.save() print(token) response_token={'first_name':'WelCome to eCommerce site '+user.first_name,'token':'JWT '+token,'id':user.id} response = getPositiveResponse( "Login User", response_token) return Response(response) except Exception as e: return Response(e)
def add(self, request): print(request.data) try: user = self.request.user if user: serializer = ProductSerializer(data=request.data) if (serializer.is_valid()): serializer.save() response = getPositiveResponse("Add subcategory", serializer.data) return Response(response) else: data = getNegativeResponse("serializer is not valid") return Response(data) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def createorder(self, request): try: user = self.request.user if user: serializer = OrderSerializer(data=request.data, context={ 'user': request.user}) if serializer.is_valid(): serializer.save() response = getPositiveResponse( "add order ", serializer.data) return Response(response) else: data = getNegativeResponse("serializer is not valid") return Response(data) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def delete(self, request): try: user = self.request.user if user: try: category = Category.objects.get(id=request.data['id']) except Exception: data = getNegativeResponse("invalid category") return Response(data) operation = category.delete() data = {} if operation: data["success"] = "delete successful" response = getPositiveResponse("category", data) return Response(response) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def userupdate(self, request): print(request.data) try: user = self.request.user if user: user = User.objects.get(id=user.id) serializer = UserUpdateSerializer(user, data=request.data) if (serializer.is_valid()): serializer.save() data = getPositiveResponse("update", serializer.data) return Response(data) else: data = getNegativeResponse("serializer is not valid") return Response(data) except Exception: data = getNegativeResponse("unauthorized user", status=status.HTTP_400_BAD_REQUEST) return Response(data)
def signup(self, request, format=None): serializer = UserSerializer(data=request.data) if(serializer.is_valid()): serializer.save() response = getPositiveResponse( "Add User", serializer.data) return Response(response) else: data = getNegativeResponse("category is not valid") return Response(data)
def addcart(self, request): try: user = self.request.user if user: context={ "user":user } print(context) serializer = CartSerializer(data=request.data ,context=context) if(serializer.is_valid()): response_data=serializer.save() response = getPositiveResponse( "Add cart", response_data) return Response(response) else: data = getNegativeResponse("product is not valid") return Response(data) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def categorylist(self, request): try: user = self.request.user if user: queryset = Category.objects.all() serializer = CategorySerializer(queryset, many=True) data = getPositiveResponse("List Of Category", serializer.data) return Response(data) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def retrieve(self, request, pk=None): try: user = self.request.user if user: user = User.objects.get(pk=pk) serializer = UserListSerializer(user) data = getPositiveResponse("search_user", serializer.data) return Response(data) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def forgotpassword(self,request): response = {} forgot_password_ser = ForgotPasswordSerializer(data=request.data) if forgot_password_ser.is_valid() == False: response = getNegativeResponse( "enter password") return Response(response) try: data = forgot_password_ser.data data['email'] = data['email'].lower() forgot_password_ser = ForgotPasswordSerializer( User.objects.get(email=data['email']), data=data) forgot_password_ser.is_valid(raise_exception=True) user = forgot_password_ser.save() response = getPositiveResponse( "Password Link Sent at your email") return Response(response) except User.DoesNotExist: response = getNegativeResponse("No user found with email ") return Response(response)
def productlist(self, request): try: user = self.request.user if user: product = Product.objects.all() serializer = ProductListSerializer(product, many=True) data = getPositiveResponse("product list", serializer.data) return Response(data) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def userlist(self, request): try: user = self.request.user if user: user = User.objects.all() serializer = UserListSerializer(user, many=True) data = getPositiveResponse("User list", serializer.data) return Response(data) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def listorder(self, request=None): try: user = self.request.user if user: user = request.user order_items = Order.objects.filter(user=user) serializer = OrderSerializer(order_items, many=True) response = getPositiveResponse("User list", serializer.data) return Response(response) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def add(self, request): try: user = self.request.user if user: try: category = Category.objects.get(id=request.data['id']) except Exception: data = getNegativeResponse("invalid category") return Response(data) serializer = CategorySerializer(data=request.data) if (serializer.is_valid()): serializer.save() response = getPositiveResponse("Add Category", serializer.data) return Response(response) else: data = getNegativeResponse("serializer is not valid") return Response(data) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def delete(self, request): try: user = self.request.user if user: try: product = Product.objects.get(id=request.data['id']) except Exception: data = getNegativeResponse("product is not valid") return Response(data) operation = product.delete() data = {} if operation: data["success"] = "delete successful" response = getPositiveResponse("subcategory", data) return Response(response) else: data = getNegativeResponse("delete filed") return Response(data) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def updateproduct(self, request): try: user = self.request.user print(request.data) if user: try: product = Product.objects.get(id=request.data['id']) except Exception: data = getNegativeResponse("product is not valid") return Response(data) serializer = ProductListSerializer(product, data=request.data) if (serializer.is_valid()): serializer.save() response = getPositiveResponse("update product", serializer.data) return Response(response) else: data = getNegativeResponse("serializer is not valid") return Response(data) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def changepassword(self,request): response = {} try: user = self.request.user if user: passward_ser = UserPasswordUpdateSerializer(data=request.data) if passward_ser.is_valid() == False: response = getNegativeResponse( "enter password") return Response(response) password_data = passward_ser.validated_data if user.check_password(password_data['password']) == True: user.set_password(password_data['new_password']) user.save() else: return Response('Old password is not valid.') response = getPositiveResponse( "Password updated successfully") return Response(response) except User.DoesNotExist: response = getNegativeResponse("User Not Valid ") return Response(response)
def clearcart(self, request): try: user = self.request.user if user: cart = CartItem.objects.all() operation = cart.delete() data={} if operation: data["success"] = "Cart empty" else: data["failure"] = "Cart is not empty" return Response(data=data) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def rejectorder(self, request): try: user = self.request.user if user: order_status = request.data['status'] user = request.user if not order_status == "cancel": if not user.is_superuser: raise ValidationError( {'errror': 'Only Super User perform this action'}) try: order = Order.objects.get(pk=request.data['id']) except Exception: data = getNegativeResponse("order is not valid") return Response(data) order.order_status=request.data['status'] order.save() response = getPositiveResponse( "Reject Order", order.order_status) return Response(response) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def search(self, request): try: user = self.request.user if user: search_user = User.objects.all() query = self.request.query_params.get('q', None) if query is not None: search = search_user.filter( Q(username__icontains=query) | Q(email__icontains=query)) serializer = UserListSerializer(search, many=True) data = getPositiveResponse("search_user", serializer.data) return Response(data) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def delete(self, request): try: print(request.data) user = self.request.user if user: try: cart = CartItem.objects.get(product_id=request.data['product']) except: pass try: cart = CartItem.objects.get(user_id=request.data['user']) except: pass operation = cart.delete() data={} if operation: data["success"] = "delete successful" else: data["failure"] = "delete filed" return Response(data=data) except Exception: data = getNegativeResponse("unauthorized user") return Response(data)
def forgotpasswordupdate(self, request): response = {} reset_password_ser = ResetPasswordSerializer(data=request.data) if reset_password_ser.is_valid() == False: response = self.getErrorMessage( reset_password_ser, status.HTTP_400_BAD_REQUEST) return Response(response, status=response['statusCode']) try: unique_token = reset_password_ser.data['reset_password_token'] BlackList.objects.get(token=unique_token) raise ValidationError('Unauthorized TOKEN') except BlackList.DoesNotExist: pass try: user = UserVerification.objects.get(verification_token=unique_token) now = datetime.datetime.now() now_plus = user.created + datetime.timedelta(minutes = 5) current_time = now.strftime("%m/%d/%Y, %H:%M:%S") token_time = now_plus.strftime("%m/%d/%Y, %H:%M:%S") if token_time >= current_time: user = UserVerification.objects.get(verification_token=unique_token) user = User.objects.get(id=user.id) user.set_password(reset_password_ser.data['password']) user.save() black_list_token = BlackList(token=unique_token) black_list_token.save() return Response("password is update") else: data = getNegativeResponse("token is expire") return Response(data) except UserVerification.DoesNotExist: return Response("password is not update")