def post(self, name): # item = next(iter(filter(lambda x: x['name'] == name , items)), None) # if item : if ItemModel.find_by_name(name): return { 'message': "An Item with name '{}'already exists".format(name) }, 400 #bad requesr # if next(iter(filter(lambda x: x['name'] == name , items)), None): # data = request.get_json() data = Item.parser.parse_args() item = {'name': name, 'price': data['price']} # items.append(item) # connection = sqlite3.connect('data.db') # cursor = connection.cursor() # query = "INSERT INTO items VALUES ( ?, ?)" # cursor.execute(query , (item['name'], item['price'])) # connection.commit() # connection.close() try: ItemModel.insert(item) except: return { 'message': "An error accured inserting the item" }, 500 #internal server error return item, 201 #item create
def put(self, name): data = ItemResource.parser.parse_args() item = ItemModel.find_by_name(name) if item: item.price = data["price"] else: item = ItemModel(name, **data) item.insert() return item.to_json()
def post(self, name): if ItemModel.find_by_name(name) is not None: return { "message": "Item with name {} already exists".format(name) }, 400 data = ItemResource.parser.parse_args() item = ItemModel(name, **data) item.insert() return item.to_json(), 201
def post(self, name): if ItemModel.find_by_name(name): return {"message":"Item {} already exists".format(name)}, 400 data = Item.parser.parse_args() item = ItemModel(name, data['price']) try: item.insert() except: return {"message": "An error occured while trying to insert the item into database"} return item.json(), 201
def put(self, name): #data = request.get_json() data = Item.parser.parse_args() item = ItemModel.find_by_name(name) upd_item = ItemModel(name, data['price']) if item: try: upd_item.update() except: return {"message": "An error occured while trying to update the item in database"}, 500 return upd_item.json() else: try: upd_item.insert() except: return {"message": "An error occured while trying to insert the item into database"}, 500 return upd_item.json(), 201
def put(self, name): data = Item.parser.parse_args() item = ItemModel.find_by_name(name) updated_item = {'name': name, 'price': data['price']} # data = request.get_json() #item = next(iter(filter(lambda x: x['name'] == name , items)), None) if item is None: try: ItemModel.insert(updated_item) except: return {'message': "AN error occured inserting item"}, 500 # item = {'name' : name, 'price': data['price']} # items.append(item) else: try: ItemModel.update(updated_item) except: return {"message": " An error occured inserting an item"}, 500 # item.update(data) return updated_item