swag-shop/app/services/product_service.py

52 lines
1.6 KiB
Python

import base64
from ..extensions import db_cursor as cursor
class ProductService:
@staticmethod
def get_name(product_id: int):
cursor.execute(f"select name from product where product.id = {product_id}")
result = cursor.fetchone()
return result['name']
@staticmethod
def get_manufacturer(product_id: int):
cursor.execute(f"select user.displayname as seller from product inner join user on product.seller_id = user.id where product.id = {product_id}")
result = cursor.fetchone()
return result['seller']
@staticmethod
def get_price(product_id: int):
cursor.execute(f"select price_pc from product where product.id = {product_id}")
result = cursor['price_pc']
return result[0]
@staticmethod
def get_image(product_id: int):
cursor.execute(f"select image from product where product.id = {product_id}")
result = cursor['image']
return base64.b64encode(result[0]).decode('utf-8')
@staticmethod
def get_image_name(product_id: int):
cursor.execute(f"select image_name from product where product.id = {product_id}")
result = cursor['image_name']
return result[0]
@staticmethod
def get_all_info(product_id: int):
cursor.execute(f"select name, user.displayname as seller, price_pc, image_name, image from product inner join user on product.seller_id = user.id where product.id = {product_id}")
result = cursor.fetchone()
return {
"name": result['name'],
"seller": result['seller'],
"price": result['price_pc'],
"image_name": result['image_name'],
"image": base64.b64encode(result['image']).decode('utf-8')
}
@staticmethod
def create_listing():
print("asd")