def update_pincode_status(self, request): """ update status of pincode as active or deactive """ requested_data = json.loads(request.body) try: is_success, message, pincode_details = LocationManager( ).update_pincode_status(requested_data) if is_success: msg = message data = pincode_details else: msg = message data = {} self.success_resp.message = msg self.success_resp.data = data return Response( status=status.HTTP_200_OK, data=convert_to_dict( self.success_resp)) except Exception as e: LOGGER.exception("Some internal server error occurred") return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data=convert_to_dict(self.exception_error_resp))
def broadcast_trip(self, request, *args, **kwargs): try: # Call Business Logic req_data = json.loads(request.body) print("reqdata: ", req_data) data = {} trip = TripManager().get_trip(req_data["trip_id"]) #trip.status = 7 #trip.save() action_type = req_data["action_type"] if action_type == "broadcast": data = json.loads(trip.trip_json_request) data["trip_id"] = req_data["trip_id"] msg = "Trip Broadcasted Successfully !" self.success_resp.message = msg self.success_resp.data = data return Response(status=status.HTTP_200_OK, data=convert_to_dict(self.success_resp)) except Exception as e: logger.exception("Some internal server error occurred") return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data=convert_to_dict(self.exception_error_resp))
def update_trip_inprogress_info(self, request, *args, **kwargs): try: req_data = json.loads(request.body) print(req_data) msg = "Trip Updated Successfully" data = {} self.success_resp.message = msg self.success_resp.data = data return Response(status=status.HTTP_200_OK, data=convert_to_dict(self.success_resp)) except Exception as e: logger.exception("Some internal server error occurred") return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data=convert_to_dict(self.exception_error_resp))
def post(self, request, *args, **kwargs): try: ##Call Business Logic is_success, trip_details = TripManager().get_trip(trip_id=1) if is_success: msg = "Business Logic called Successfully" data = trip_details else: msg = "Business Logic called Failed" data = {} self.success_resp.message = msg self.success_resp.data = data return Response(status=status.HTTP_200_OK, data=convert_to_dict(self.success_resp)) except Exception as e: logger.exception("Some internal server error occurred") return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data=convert_to_dict(self.exception_error_resp))
def create_trip(self, request, *args, **kwargs): try: # Call Business Logic req_data = json.loads(request.body) print("reqdata: ", req_data) ## input validation here [pincode, mobile, etc] #FormFieldValidation.is_valid_pincode(re.sub('[^0-9]', '', req_data["trip_pickup_address"]["pincode"])) ## creating trip object trip_id, trip_ref_number, pickup_address_id, drop_address_id = \ TripManager().create_trip(req_data) ################################################# ### Third Party Service Integration comes here ### Push Notification, Delivery people search etc ################################################# ## response preparation trip_response = {} trip_response["trip_id"] = trip_id trip_response["trip_ref_number"] = trip_ref_number trip_response["pickup_address_id"] = pickup_address_id trip_response["drop_address_id"] = drop_address_id trip_response["trip_status"] = "CREATED" msg = "Trip Created Successfully" data = trip_response self.success_resp.message = msg self.success_resp.data = data return Response(status=status.HTTP_200_OK, data=convert_to_dict(self.success_resp)) except Exception as e: logger.exception("Some internal server error occurred") return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data=convert_to_dict(self.exception_error_resp))
def create_area(self, request): """ create Area and return result with status code """ requested_data = json.loads(request.body) try: is_success, message, area_details = LocationManager().create_area(requested_data) if is_success: msg = message data = area_details else: msg = message data = {} self.success_resp.message = msg self.success_resp.data = data self.success_resp.is_error = not is_success ## Toggle the success msg return Response( status=status.HTTP_200_OK, data=convert_to_dict( self.success_resp)) except Exception as e: LOGGER.exception("Some internal server error occurred") return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data=convert_to_dict(self.exception_error_resp))