Example #1
0
    def get(self):
        recv_data = request.get_json()
        if recv_data is not None:
            product=ProductModel.find_by_name(recv_data['name'])
            if ProductModel.find_by_name(recv_data['name']):
                return product.json()
            return {"message":"Product does not exist!!"},404

        else:
            return {'products':[product.json() for product in ProductModel.query.all()]}
Example #2
0
    def post(self):
        
        product = Product.parser.parse_args()

        if not product['name']:
            return {
                'status': False,
                'message': 'Product name must not be empty.',
                'data': None
            }

        if ProductModel.find_by_name(product['name']):
            return {
                'status': False,
                'message':"A product with name '{}' already exists.".format(product['name']),
                'data': None
            }
        
        product = ProductModel(**product)
    
        try:
            product.save_to_db()
        except:
            return {
                'status': False,
                'message': 'An error occurred while creating the product.',
                'data': None
            }, 500
        
        return {
            'status': True,
            'message': 'Success',
            'data': product.json()
        },201
Example #3
0
    def delete(self, productname, username=None, password=None):
        product = ProductModel.find_by_name(productname=productname)
        if product:
            product.delete_from_db()
            return {"message": "Item deleted"}, 200  # 200 ok

        return {
            "message": "Item Not in database"
        }, 401  # 400 is for bad request
 def put(self, name):
     data = Product.parser.parse_args()
     product = ProductModel.find_by_name(name)
     if product is None:
         product = ProductModel(name, **data)
     else:
         product.price = data['price']
         product.save_to_db()
     return product.json()
Example #5
0
    def delete(self, name):
        claims = get_jwt_claims()
        if not claims['is_admin']:
            return {'message': 'Admin privilege required.'}, 401

        product = ProductModel.find_by_name(name)
        if product:
            product.delete_from_db()
            return {'message': 'Product deleted.'}
        return {'message': 'product not found.'}, 404
 def put(cls, name):
     product_json = request.get_json()
     product_in_db = ProductModel.find_by_name(name)
     if product_in_db:
         product_in_db.price = product_json['price']
         product_in_db.name = product_json["name"]
         product_in_db.description = product_json['description']
         product_in_db.categories = []
         product_in_db.save_to_db()
         return product_schema.dump(product_in_db), 200
     return {"message": _PRODUCT_NOT_FOUND.format(name)}
Example #7
0
	def post(self, name):
		if ProductModel.find_by_name(name):
			return {'message': "A product with name '{}' already exists.".format(name)}, 400

		data = Product.parser.parse_args()
		product = ProductModel(name, **data)

		try:
			product.save_to_db()
		except:
			return {'message': 'An error occured inserting the product'}, 500

		return product.json(), 201
Example #8
0
    def post(self, name):
        data = Product.parser.parse_args()
        product = ProductModel.find_by_name(name)

        if product:
            return {
                "message": "product with name '{}' already axists".format(name)
            }
        product = ProductModel(**data)
        print(product.json())
        product.save_to_db()

        return {"message": "Product has been saved"}, 200
Example #9
0
    def post(self):
        recv_data=Product.parser.parse_args()
        print(type(recv_data))

        if ProductModel.find_by_name(recv_data['name']):
            return {"message":"A product with the name {} already exists..".format(recv_data['name'])},400
        
        product=ProductModel(recv_data['name'], recv_data['description'])

        try:
            product.save_to_db()
        except:
            return {"message":"An Error occured while inserting the data!!"},500

        return product.json(),201
Example #10
0
    def delete(self, name):
        product = ProductModel.find_by_name(name)

        if product:
            print(product.json())
            product.delete_from_db()

            return {
                "message":
                "Product with name '{}' has been deleted".format(name)
            }, 200

        return {
            "message": "Product with name '{}' has been deleted".format(name)
        }, 200
Example #11
0
	def put(self, name):
		data = Product.parser.parse_args()

		product = ProductModel.find_by_name(name)

		if product is None:
			product = ProductModel(name, **data)
		else:
			product.desc_short = data['desc_short']
			product.desc_long = data['desc_long']
			product.pdf = data['pdf']
			product.price_excl = data['price_excl']
			product.price_incl = data['price_incl']

		product.save_to_db()
		return product.json()
Example #12
0
    def post(self, name):

        product = ProductModel.find_by_name(name)
        if product:
            return {'message': "product {} already exists".format(name)}, 400

        data = Product.parser.parse_args()
        product = ProductModel(name, data['price'], data['category_name'],
                               data['imageUrl'])

        try:
            product.save_to_db()  # passing product object to insert
            print(product)
        except:
            return {
                "message": "error occured while loading the data into DB "
            }, 400

        return product.json(), 201
    def post(cls):
        """
        Post an item
        :return item that is added to database.:
        """
        product_json = request.get_json()
        product = product_schema.load(product_json, session=session)

        if ProductModel.find_by_name(product.name):
            return {
                "message": _PRODUCT_ALREADY_EXISTS.format(product.name)
            }, 400

        product.save_to_db()

        return {
            "message": _CREATED_SUCCESSFULLY,
            "product": product_schema.dump(product)
        }, 201
Example #14
0
    def put(self, name):

        data = Product.parser.parse_args()
        product = ProductModel.find_by_name(name)

        if product is None:
            product = ProductModel(name, data['price'], data['category_name'],
                                   data['imageUrl'])
        else:
            product.price = data['price']
            product.category = data['category_name']
            product.imageUrl = data['imageUrl']

        try:
            product.save_to_db()
        except:
            return {"message": " unable to save /update product in DB"}, 500

        return product.json(), 200
Example #15
0
    def put(self, name):
        data = Product.parser.parse_args()
        print(data)
        product = ProductModel.find_by_name(name)
        print(name)
        if product:
            print(product.json())
            product.name = data['name']
            product.type = data['type']
            product.color = data['color']
            product.size = data['size']
            product.details = data['details']
            product.price = data['price']
            product.store_id = data['store_id']

            return {
                'message': "data has been update",
                "product": product.json()
            }, 200

        return {"message": "Product Not Found"}, 404
Example #16
0
    def put(self, productname):

        data = Product.parser.parse_args()
        message = ProductModel.check_form_integrity(productname, data)

        if message: return message

        product = ProductModel.find_by_name(productname=data["productname"])

        if product:
            #update
            for each in data.keys():
                product.__setattr__(each, data[each])
            product.save_to_db()

        else:
            #insert
            product = ProductModel.instance_from_dict(dict_=data)
            product.save_to_db()

        return product.json(), 201
Example #17
0
    def put(self,id):
        data = Product.parser.parse_args()

        product = ProductModel.find_by_id(id)

        if product is None:
            return {
                'status': False,
                'message':'Product not found',
                'data': None
            }

        if not data['name']:
            return {
                'status': False,
                'message': 'Product name must not be empty.',
                'data': None
            }

        if data['name'] != product.name:
            if ProductModel.find_by_name(data['name']):
                return {
                    'status': False,
                    'message': 'Product name is already exists.',
                    'data': None
                }

        product.name = data['name']
        product.price = data['price']
        product.category = data['category']
        product.vendor = data['vendor']
        
        product.save_to_db()

        return {
            'status': True,
            'message': 'The product has been updated.',
            'data': product.json()
        }
Example #18
0
    def get(self, productname):

        product = ProductModel.find_by_name(productname=productname)

        if product: return {"item": product.json()}, 201
        return {"message": 'Item not found'}, 400
Example #19
0
 def delete(self, name):
     product = ProductModel.find_by_name(name)
     if product:
         product.delete_from_db()
         return {'message': 'Product {} Deleted'.format(name)}, 200
     return {"message": "product {} is not availabe".format(name)}, 400
 def delete(cls, name):
     product = ProductModel.find_by_name(name)
     if product:
         product.delete_from_db()
         return {"message": _PRODUCT_DELETED.format(name)}, 200
     return {"message": _PRODUCT_NOT_FOUND}, 404
 def get(cls, name):
     product = ProductModel.find_by_name(name)
     if product:
         return {"product": product_schema.dump(product)}, 200
     return {"message": _PRODUCT_NOT_FOUND.format(name)}, 400
Example #22
0
 def delete(self, name):
     product = ProductModel.find_by_name(name)
     if product:
         product.delete_from_db()
         return {'message': 'product deleted.'}
     return {'message': 'product not found.'}, 404
Example #23
0
 def get(self, name):
     product = ProductModel.find_by_name(name)
     if product:
         return product.json()
     return {'message': 'product not found'}, 404
Example #24
0
	def delete(self, name):
		product = ProductModel.find_by_name(product)
		if product:
			product.delete_from_db()
Example #25
0
    def delete(self, name):
        product = ProductModel.find_by_name(name)
        if product:
            product.delete_from_db()

        return {'message': 'Product deleted'}
Example #26
0
 def get(self, name):
     product = ProductModel.find_by_name(name)
     print(name)
     if product:
         return {"product": product.json()}, 201
     return {"message": "Product Not Found"}, 404
Example #27
0
 def get(self, name):
     product = ProductModel.find_by_name(name)
     if product:
         return product.json()
     return {"message": " product {} not available ".format(name)}