def post(self, request): req_data = request.data errors = check_required_fields(req_data, ['mobile', 'password']) if len(errors.keys()): return Response(gen_response(True, False, errors), status=status.HTTP_400_BAD_REQUEST) mobile = req_data.get("mobile", None) password = req_data.get("password", None) try: user = User.objects.get(mobile=mobile) except User.DoesNotExist: user = User.objects.create_user(mobile=mobile, password=password, user_type=UserTypeChoices.CUSTOMER) req_data["user"] = user.id serializer = CustomerSerializer(data=req_data) if serializer.is_valid(): serializer.save() token = Token.objects.get_or_create(user=user) token = token[0] data = {"auth_token": token.key} return Response(gen_response(False, True, "Successfully Added Customer", data), status=status.HTTP_200_OK) else: return Response(gen_response(True, False, serializer.errors))
def get(self, requset, pk): try: parking_lot = self.get_object(pk) serializer = CustomerListSerializer(parking_lot) return Response(gen_response(False, True, "", serializer.data), status=status.HTTP_200_OK) except Exception as e: return Response(gen_response(True, False, "Object Not Found"), status=status.HTTP_404_NOT_FOUND)
def get(self, requset, pk): try: vehicle = self.get_object(pk) serializer = VehicleListSerializer(vehicle) return Response(gen_response(False, True, "", serializer.data), status=status.HTTP_200_OK) except Exception as e: return Response(gen_response(True, False, "Object Not Found"), status=status.HTTP_404_NOT_FOUND)
def get(self, request): user = request.user try: parking_lot = Customer.objects.get(user=user.id) serializer = CustomerListSerializer(parking_lot) return Response(gen_response(False, True, "", serializer.data), status=status.HTTP_200_OK) except Exception as e: return Response(gen_response(True, False, "Parking Lot Not Found"), status=status.HTTP_404_NOT_FOUND)
def get(self, request): try: queryset = Customer.objects.all() serializer = CustomerListSerializer(queryset, many=True) return Response(gen_response(False, True, "List Of Parking Lot", serializer.data), status=status.HTTP_200_OK) except Exception as e: return Response(gen_response(False, True, "Something Went Wrong"), status=status.HTTP_500_INTERNAL_SERVER_ERROR)
def post(self, request): serializer = VehicleSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(gen_response(False, True, "Successfully Added Vehicle"), status=status.HTTP_200_OK) else: return Response(gen_response(True, False, serializer.errors), status=status.HTTP_400_BAD_REQUEST)
def get(self, request): try: customer_ref = request.user.id queryset = Vehicle.objects.filter(customer_ref=customer_ref) serializer = VehicleListSerializer(queryset, many=True) return Response(gen_response(False, True, "List Of Vehicle ", serializer.data), status=status.HTTP_200_OK) except Exception as e: return Response(gen_response(False, True, "Something Went Wrong"), status=status.HTTP_500_INTERNAL_SERVER_ERROR)
def post(self, request): req_data = request.data req_data["parking_lot_ref"] = request.user.id serializer = ChargesSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(gen_response(False, True, "", serializer.data), status=status.HTTP_200_OK) else: return Response(gen_response(True, False, serializer.errors), status=status.HTTP_400_BAD_REQUEST)
def put(self, request, pk): charges = request.charges serializer = ChargesSerializer(charges, data=request.data, partial=True) if serializer.is_valid(): serializer.save() return Response(gen_response(False, True, "", serializer.data), status=status.HTTP_200_OK) else: return Response(gen_response(True, False, serializer.errors), status=status.HTTP_400_BAD_REQUEST)
def get(self, request): user = request.user if user.is_authenticated and user.user_type == UserTypeChoices.PARKING_LOT: parking_lot_ref = request.user.id else: parking_lot_ref = request.query_params.get("parking_lot_ref", None) if not parking_lot_ref: return Response(gen_response( True, False, "'parking_lot_ref' Is Required(In Query Params) "), status=status.HTTP_400_BAD_REQUEST) charges_list = Charges.objects.filter(parking_lot_ref=parking_lot_ref) serializer = ChargesSerializer(charges_list, many=True) return Response(gen_response(False, True, "List of Charges", serializer.data), status=status.HTTP_200_OK)
def put(self, request, pk): try: parking_lot = self.get_object(pk) serializer = CustomerSerializer(parking_lot, data=request.data, partial=True) if serializer.is_valid(): serializer.save() data = CustomerListSerializer(serializer.instance).data return Response(gen_response( False, True, "Successfully Updated Customer Lot", data), status=status.HTTP_200_OK) else: return Response(gen_response(True, False, serializer.errors)) except Exception as e: print(e) return Response(gen_response(True, False, "Object Not Found"), status=status.HTTP_404_NOT_FOUND)
def post(self, request): errors = check_required_fields(request.data, ["mobile", "password"]) if len(errors.keys()): return Response(gen_response(True, False, errors), status=status.HTTP_400_BAD_REQUEST) mobile = request.data["mobile"] password = request.data["password"] user = authenticate(mobile=mobile, password=password) print(user, mobile, password) if user is not None: token = Token.objects.get_or_create(user=user) token = token[0] data = {"auth_token": token.key} return Response(gen_response(False, True, "", data), status=status.HTTP_200_OK) else: return Response(gen_response( True, False, "Please Signup or Enter Valid Credentials"), status=status.HTTP_400_BAD_REQUEST)
def delete(self, request, pk): charges = request.charges charges.delete() return Response(gen_response(True, False, "Deleted Successfully"), status=status.HTTP_200_OK)