def put(self, name): """ Create or Modify the existing item or new item """ data = Item.parser.parse_args() item = ItemModel.find_item_name(name) updated_item = ItemModel(name, data['price']) if item is None: try: updated_item.insert() except: return { "message": "An error occured while inserting the item" }, 500 else: try: updated_item.update() except: return { "message": "An error occured while updating the item" }, 500 return updated_item.json()
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() item = ItemModel(name, data['price']) try: item.insert() except: return {'message': 'An error occurred inserting the item into the database.'}, 500 # Internal Server Error return item.json(), 201 # Created
def post(self, name): """ Add new item in the database """ # ***** error first approach **** if ItemModel.find_item_name(name): return {"message": "Item {} already exist".format(name)}, 400 data = Item.parser.parse_args() item = ItemModel(name, data['price']) try: item.insert() except: return "An error occured", 500 # Internal server error return item.json(), 201
def put(self, name): data = Item.parser.parse_args() item = ItemModel.find_by_name(name) updated_item = ItemModel(name, data['price']) if item is None: try: updated_item.insert() except: return {"message": "An error occurred inserting the item."} else: try: updated_item.update() except: raise return {"message": "An error occurred updating the item."} return updated_item
def put(self, name): data = Item.parser.parse_args() try: item = ItemModel.find_by_name(name) except: {'message': 'An error occurred attempting to retrieve the item from the database.'}, 500 # Internal Server Error updated_item = ItemModel(name, data['price']) if item is None: try: updated_item.insert() except: {'message': 'An error occurred attempting to insert the item into the database'}, 500 # Internal Server Error else: try: updated_item.update() except: {'message': 'An error occurred attempting to update the item in the database'}, 500 # Internal Server Error return updated_item.json()