Esempio n. 1
0
 def delete(self, name):
     item = ItemModel.find_by_name(name)
     if item:
         item.delete_from_db()
         return {'message': 'item was deleted successfully'}
     else:
         return {'message': 'Item does not exist'}
Esempio n. 2
0
    def put(self, name):
        data = Item.parser.parse_args()
        new_item = ItemModel(name, data['price'])

        # check whether item exists
        try:
            existing_item = ItemModel.find_by_name(name)
        except:
            return {'message': 'db search failed'}, 500

        # if item exists then update it
        if existing_item:
            try:
                existing_item.price = data['price']
                existing_item.update_item()
            except:
                return {'message': 'item update failed'}, 500
            return {
                "message": "Item '{0}' updated successfully".format(name)
            }, 200

        # if item is not existing then create a new item
        try:
            new_item.insert_item()
        except:
            return {'message': 'item insertion failed'}, 500
        return {'message': "new item '{0}' created".format(name)}, 201
Esempio n. 3
0
    def get(self, name):  # from resource we will only use get method

        item = ItemModel.find_by_name(name)
        if item:
            return item.json()

        return {'message': 'Item not found'}, 404
Esempio n. 4
0
 def delete(self, name):
     item = ItemModel.find_by_name(name)
     if item:
         item.delete_from_db()
         return {'message': 'Item deleted'}, 202
     else:
         return {'message': 'Item does not exist'}, 404
Esempio n. 5
0
    def delete(self, name):
        item = ItemModel.find_by_name(name)
        if item:
            item.delete_from_db()

            return {'message': 'Item deleted'}
        return {'message': 'Item not found'}
Esempio n. 6
0
    def post(self, name):

        if ItemModel.find_by_name(name):
            return {
                "message":
                "An item with the name {} already exists".format(name)
            }, 400  # bad request
        data = self.parser.parse_args()
        # item={"name":name, "price":data["price"]}
        item = ItemModel(
            name, data["price"],
            data['store_id'])  # item becomes object of class ItemModel
        # exception handling: if database insert fails; try inserting if exception occurred then the except return message

        try:

            # ItemModel.insert(item)
            item.save_to_db()  # calling object above

        except:
            return {
                "message": "An error occurred while inserting the item."
            }, 500  # Internal server error

        return item.json(), 201  # new item created; always return json
Esempio n. 7
0
    def post(self, name):

        #data = request.get_json()
        #if next(filter(lambda x: x['name'] == name, items),None):
        if ItemModel.find_by_name(name):
            return {
                'message': "An item with name '{}' already exist".format(name)
            }, 400
        data = Item.parser.parse_args()

        #data = request.get_json()
        item = ItemModel(name, data['price'], data['store_id'])

        #items.append(item)
        # Write item to the database
        # connection = sqlite3.connect('samdata.db')
        # cursor = connection.cursor()
        #
        # query = "INSERT INTO items VALUES(?, ?)"
        # cursor.execute(query, (item['name'], item['price']))
        #
        # connection.commit()
        # connection.close()

        #method fot post and put
        item.save_to_db()
        # try:
        #     item.insert(item)
        # except:
        #     return {"message": " An error occurred inserting the item. Please check the insert code"}, 500

        return item.json(), 201
Esempio n. 8
0
 def delete(self, item_name):
     item = ItemModel.find_by_name(item_name)
     if item:
         try:
             item.delete_from_database()
         except sqlalchemy.exc.DatabaseError:
             return {"message": "error - internal database error"}, 500
     return {"item": "deleted"}, 200
Esempio n. 9
0
 def get(self, name):
     try:
         item = ItemModel.find_by_name(name)
     except:
         return {'message': 'An error occurred finding the item.'}, 500
     if item:
         return item.json()
     return {'message': 'Item not found'}, 404
Esempio n. 10
0
 def get(self, item_name):
     if max_user_requests(flask_jwt.current_identity.username):
         return max_requests_message(), 400
     item = ItemModel.find_by_name(item_name)
     if item:
         return item.json(), 200
     else:
         return {"item": None}, 404
Esempio n. 11
0
 def delete(cls, name):
     claims = get_jwt_claims()
     if not claims['is_admin']:
         return {'message': ADMIN_PRIVILEGE_REQUIRED}
     item = ItemModel.find_by_name(name)
     if item:
         item.delete_from_db()
     return {'message': ITEM_DELETED}
Esempio n. 12
0
 def get(self, name):
     # for it in items:
     #     if (it['name'] == name):
     #         return it
     item = ItemModel.find_by_name(name)
     if item:
         return item.json()
     return {'message': 'Item not found'}, 404
Esempio n. 13
0
    def delete(self, name):
        claims = get_jwt()
        if not claims['is_admin']:
            return {'message': 'Admin privilege required!'}, 401
        item = ItemModel.find_by_name(name)
        if item:
            item.delete_from_db()

        return {'message': 'Item deleted'}
Esempio n. 14
0
 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['price'], data['store_id'])
     item.save_to_db()
     return item.json(), 201
Esempio n. 15
0
    def delete(self, name):
        item = ItemModel.find_by_name(name)

        if item:
            try:
                item.delete_from_db()
                return {"message": "Item has been deleted"}
            except:
                return {"There was an error, please try again"}
        return {"Message": "This item does not exist"}
Esempio n. 16
0
    def delete(self, name):
        print('IDENTITY')
        claims = get_jwt_claims()
        if not claims['is_admin']:
            return {'message': 'Admin privilege required'}, 401
        item = ItemModel.find_by_name(name)
        if item:
            item.delete_from_db()

        return {'message': 'Item deleted successfully'}
Esempio n. 17
0
 def put(cls, name):
     data = Item.parser.parse_args()
     item = ItemModel.find_by_name(name)
     if item:
         item.price = data['price']
         item.store_id = data['store_id']
     else:
         item = ItemModel(name, **data)
     item.save_to_db()
     return item.json()
Esempio n. 18
0
 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.store_id = data["store_id"]
     item.save_to_db()
     return item.json()
Esempio n. 19
0
 def get(self, name):
     # for item in items:  #lamda function--> item = next(filter(lambda x:x['name] == name, items))
     #     if item['name'] == name:
     #         return item
     # return {'message':f'item with name {name} not found'}, 404
     item = ItemModel.find_by_name(name)
     if item:
         return item.json()
     else:
         return {'message': f'item with name {name} not found'}, 404
Esempio n. 20
0
 def post(cls, name):
     if ItemModel.find_by_name(name):
         return {'message': NAME_ALREADY_EXISTS.format(name)}
     data = Item.parser.parse_args()
     item = ItemModel(name, **data)
     try:
         item.save_to_db()
     except:
         return {"message": INSERTION_ERROR}
     return item.json()
Esempio n. 21
0
    def put(self, name):

        data = Item.parser.parse_args()
        item = ItemModel.find_by_name(name)
        if not item:
            item = ItemModel(name, **data)
        else:
            item.price = data['price']
        item.save_to_db()
        return item.json()
Esempio n. 22
0
    def put(self, name):
        data = Item.parser.parse_args()
        item = ItemModel.find_by_name(name)

        if item is None:
            item = ItemModel(name, data['price'], data['store_id'])
        else:
            item.price = data['price']

        item.save_to_db()
        return item.json()
Esempio n. 23
0
 def post(self, name):
     if ItemModel.find_by_name(name):
         return {"message": f'An item with name "{name}" already exists'}, 400
     data = Item.parser.parse_args()
     print("a")
     item = ItemModel(name, **data)
     try:
         item.save_to_db()
     except:
         return {"message": "An error occurred inserting the item."}, 500
     return item.json(), 201
Esempio n. 24
0
 def get(self, name):
     try:
         item = ItemModel.find_by_name(
             name)  # self.find_by_name(name) will also work here
     except:
         return {'message': 'db search failed'}, 500
     if item:
         # rather than returning the object itself we should return a dictionary
         # this can be done by calling the get_json() method inside the item model to create a dictionary.
         return item.get_json(), 200
     return {'message': 'item not found!'}, 404
Esempio n. 25
0
 def delete(self, name):
     if not ItemModel.find_by_name(name):
         return {
             'message': 'item with name {0} NOT FOUND!'.format(name)
         }, 404
     connection = sqlite3.connect('data.db')
     cursor = connection.cursor()
     delete_query = 'DELETE FROM ITEMS WHERE NAME=?'
     cursor.execute(delete_query, (name, ))
     connection.commit()
     connection.close()
     return {'message': "Item: '{0}' deleted".format(name)}, 200
Esempio n. 26
0
    def put(self, item_name):
        # data = request.get_json() # replaced by parser code above
        data = Item.parser.parse_args()
        item = ItemModel.find_by_name(item_name)

        if item is None:
            item = ItemModel(item_name, data["price"], data["store_id"])
        else:
            item.price = data["price"]

        item.save_to_db()
        return item.json()
Esempio n. 27
0
    def delete(self, name):
        # connection = sqlite3.connect('data.db')
        # cursor = connection.cursor()
        #
        # query = "DELETE FROM items WHERE name=?"
        # cursor.execute(query, (name,))
        # connection.commit()
        # connection.close()
        item = ItemModel.find_by_name(name)
        if item:
            item.delete_from_db()

        return {'message': "Item deleted"}
Esempio n. 28
0
    def put(self, name):
        data = Item.request_parser.parse_args()
        item = ItemModel.find_by_name(name)
        if item is None:
            item = ItemModel(name, data['price'], data['store_id'])
        else:
            item.price = data['price']
        try:
            item.save_to_db()
        except:
            return {'message': 'Internal server error while updating'}, 500

        return item.json()
Esempio n. 29
0
    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']
        try:
            item.save_to_db()
            return item.json(), 201
        except:
            return {"message": "An error iccorred while updateing item"}, 500
Esempio n. 30
0
    def get(self, name):
        # The code below was used when the item was stored in a list
        # # the next() get the first match from filter() after lambda has gone through the list, if no match isfound it returns 'None' | filter retuns an object
        # each_item = next(filter(lambda x: x['name'] == name, items), None)
        # # for each_item in items:
        # #     if each_item['name'] == name:
        # #         return each_item
        # return {"item": each_item}, 200 if each_item else 404

        item = ItemModel.find_by_name(name)
        if item:
            return item.json()
        return {"message": f"The item {name} does not exist"}, 400