Skip to content
Snippets Groups Projects
Select Git revision
  • 0381bb41eda12a4bd0b29a240af4c1c3eb279717
  • main default protected
2 results

product.py

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    product.py 1.70 KiB
    from utils.application import mysql
    from flask import jsonify
    from utils.helpers import sql_product_to_json
    
    def get_product_by_id(product_id):
    		# Get the specific product ID
    		cur = mysql.connection.cursor()
    		cur.execute('''
    				SELECT product.product_id, product.name, product.description, product.price, product.stock_quantity, brand.name, brand.description
    				FROM product INNER JOIN brand ON product.brand_id = brand.brand_id
    				WHERE product.product_id = %s
    		''', (product_id,))
    
    		products = cur.fetchall()
    		cur.close()
    
    		# Check that the product exists
    		if len(products) <= 0:
    				return jsonify({"message": "Product not found"}), 404
    
    		# Check that we only have one product.
    		if len(products) > 1:
    				return jsonify({"message": "Database error"}), 500
    
    		# Use function to turn it into a json style object
    		jsonProduct = sql_product_to_json(products)[0]
    
    		return jsonify(jsonProduct)
    
    def get_product_all():
    		# Get all the products
    		cur = mysql.connection.cursor()
    		cur.execute('''
    				SELECT product.product_id, product.name, product.description, product.price, product.stock_quantity FROM product
    		''')
    
    		products = cur.fetchall()
    		cur.close()
    
    		# Turn them all into json products
    		jsonProducts = sql_product_to_json(products)
    
    		return jsonProducts
    
    def get_products_by_search(search):
    	cur = mysql.connection.cursor()
    	# Search in product name and description
    	cur.execute('''
    		SELECT product.product_id, product.name, product.description, product.price, product.stock_quantity FROM product
    		WHERE product.name LIKE %s OR product.description LIKE %s
    	''', ('%' + search + '%', '%' + search + '%'))
    
    	products = cur.fetchall()
    	cur.close()
    
    	jsonProducts = sql_product_to_json(products)
    
    	return jsonProducts