def post(self, name): if ItemModel.find_by_name(name): return {'message': "An item with name {} is already exists".format(name)}, 400 # returns HTTP status bad request data = Item.parser.parse_args() item = ItemModel(name, **data) try: item.save_to_db() except: return {'message': 'An error ocurred inserting the item'}, 500 return item.json(), 201
def put(self): data = request.json item = ItemModel.find_by_name(data['name']) if item is None: item = ItemModel(data['name'], data['price'], data['store_id']) else: item.price = data['price'] item.save_to_db() return item.json()
def post(self): data = request.json name = data['name'] if ItemModel.find_by_name(name): return { 'message': 'An item with name {} already exists.'.format(name) } item = ItemModel(data['name'], data['price'], data['store_id']) try: item.save_to_db() except: return 500
def put(self, name): data = Item.parser.parse_args() item = ItemModel.find_by_name(name) if item is None: item = ItemModel(name, **data) else: item.price = data['price'] item.save_to_db() return item.json()
def post(self, name): if ItemModel.find_by_name(name): return { 'message': 'an item with {} already exists'.format(name) }, 400 request_data = Item.parser.parse_args() item = ItemModel(name, request_data['price'], request_data['store_id']) try: item.save_to_db() except Exception as e: return { "message": "an error occurred inserting the item." }, 500 # internal server error return item.json(), 201
def put(self, name): data = Item.parser.parse_args() try: item = ItemModel.find_by_name(name) if item is None: item = ItemModel(name, **data) else: item.price = data['price'] item.save_to_db() except: return {'message': 'An error ocurred updating the item'}, 500 return item.json()
def put(self, name): data = Item.parser.parse_args() item = ItemModel.find_by_name(name) if item is None: try: item = ItemModel(name, data['price'], data['store_id']) except Exception as e: return {"message": "an error occurred inserting the item"}, 500 else: try: item.price = data['price'] except Exception as e: return {"message": "an error occurred updating the item"}, 500 item.save_to_db() return item.json()
def post(self, name): item = ItemModel.find_by_name(name) if item is not None: message = f'An item with name {name} already exists.' return {'message': message}, 400 data = Item.parser.parse_args() item = ItemModel(name, **data) try: item.save_to_db() except: return {"message": "An error occured inserting the item."}, 500 return item.json(), 201
def post(self, name): if ItemModel.find_by_name(name): return {'message': MSG.EXISTED.format(name)}, 400 data = self.parser.parse_args() item = ItemModel(**data) safe_run(message=MSG.ERROR_INSERT.format(name), error_code=500)(item.save_to_db(item)) return item.jsonify(), 201
def post(self, name): if ItemModel.find_by_name(name): return { 'message': "An item with name '{}' already exists.".format(name) }, 400 data = Item.parser.parse_args() item = ItemModel(name, **data) try: item.save_to_db() except: return {"message": "An error occurred inserting the item."}, 500 return item.json(), 201
def put(cls, name: str) -> tuple: """ Create new or update existing item. :param name: String name. :return: {'item': Int} """ data = cls.parser.parse_args() item = ItemModel.find_by_name(name) if item is None: # Insert new object item = ItemModel(name, **data) # data['price'], data['store_id'] else: item.price = data['price'] # Update object in db item.save_to_db() return item.json(), 200
def put(self, name): data = Item.parser.parse_args() item = ItemModel.find_by_name(name) try: if item is None: item = ItemModel(name, data["price"], data["store_id"]) else: item.price = data["price"] item.store_id = data["store_id"] item.save_to_db() except: return { "message": "An error occurred inserting/updating the item." }, 500 return item.json()
def post(self, name): if ItemModel.find_by_name(name): # return a message with Bad Request code 400 return { "message": "An item with name {} already exists".format(name) }, 400 # use the get_json() method to retrieve the json data from the page #request_data = request.get_json() # instead we use the request parser here data = Item.parser.parse_args() item = ItemModel( name=name, price=data["price"], store_id=data["store_id"]) # or ItemModel(name, **data) try: item.save_to_db() except: return {"message": "An error occurred inserting the item."}, 500 return item.json(), 201 # code for created ok
def put(self, name): data = self.parser.parse_args() item = ItemModel.find_by_name(name) if item is None: item = ItemModel(**data) else: for key in ['price', 'name']: setattr(item, key, data[key]) safe_run(message=MSG.ERROR_UPDATE.format(name), error_code=500)(item.save_to_db(item)) return item.jsonify(), 201
def post(self, name): if ItemModel.find_by_name(name): return { "message": "An item with name {} already exists.".format(name) }, 400 # Bad Request data = Item.parser.parse_args() # **data can gives us the unpacked named arguments from the data # instead of writing : item = ItemModel(name, data["price"], data['store_id']) # we can write item = ItemModel(name, **data) try: item.save_to_db() except: return { "message": "An error occurred inserting the item." }, 500 # internal server error return item.json( ), 201 # we don't have to do jsonify because flask_restful is doing this for us
def put(self, name): data = Item.parser.parse_args() item = ItemModel.find_by_name(name) if item is None: try: item = ItemModel(name, **data) item.save_to_db() except: return { "message": "An error occurred inserting the item." }, 500 else: try: item.price = data['price'] item.store_id = data['store_id'] item.save_to_db() except: return {"message": "An error occurred updating the item."}, 500 return item.json(), 201
def post(self, name): if ItemModel.find_by_name(name): return { 'message': "An item with '{}' already exists".format(name) }, 400 jsonPayload = Item.parser.parse_args() if StoreModel.find_by_id(jsonPayload['store_id']) is None: return { 'message': 'There is no Store. You should be add store first.' }, 400 item = ItemModel(name, **jsonPayload) try: item.save_to_db() # attributing object self except: return {"message", "An error occurred inserting the item"}, 400 return item.json(), 201 # create success
def post(cls, name: str) -> tuple: """ Creates a new item. :param name: :return: {'message': "Item already exists."} """ if ItemModel.find_by_name(name): return { 'message': "Item already exists." }, 422 # Un-processable Entity data = cls.parser.parse_args() item = ItemModel(name, **data) try: item.save_to_db() except Exception: return {'message': "Internal server error!"}, 500 return item.json(), 201