示例#1
0
    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
示例#2
0
    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()
示例#3
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.save_to_db()

        return item.json()
示例#4
0
 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
示例#5
0
    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()
示例#6
0
 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()
示例#7
0
    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':
                "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
示例#9
0
    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
示例#10
0
    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()
示例#11
0
    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
示例#12
0
    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
示例#13
0
    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
示例#14
0
    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
示例#15
0
    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